【问题标题】:How to split list with (x, y) pairs如何用(x,y)对拆分列表
【发布时间】:2019-10-22 13:23:52
【问题描述】:

基本上我有一个便宜的基于文本的ticketek系统作为学校项目,我试图让用户查看他们的购物车,我使用 list(collection.count(order_list).items())并以类似[(ticket1, 8), (ticket2, 4), (ticket3, 3)]的输出结束 但是我想写一个打印语句,如下所示: 8x ticket 1 ... 但这需要我将它们分开。

我的预期结果格式为:[[ticket1, 8],[ticket2, 6],[ticket3, 2]

【问题讨论】:

  • order_list 是什么格式的?
  • 您给定的输出似乎无效。至少缺少一些引号。
  • 您无需将其转换为列表即可引用输出。如果您遍历result = list(collection.count(order_list).items()),您可以像这样访问每个元素:for i in result: print(i[0],i[1])
  • 如果输出只是以特定方式打印它们,我建议查看 f-strings 或字符串格式等。就像 Oscar 如下所示

标签: python list split


【解决方案1】:

您不需要将Counter 的结果转换为列表:

result = [('ticket1', 8), ('ticket2', 4), ('ticket3', 3)]

for ticket, number in result:
    print("{}x {}".format(number, ticket))

但如果你坚持,这里有一个简单的方法:

list(map(list, result))
=> [['ticket1', 8], ['ticket2', 4], ['ticket3', 3]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多