【问题标题】:print dictionary and string objects in same statement python在同一条语句python中打印字典和字符串对象
【发布时间】:2015-12-08 14:53:29
【问题描述】:

我有代码:

coin = {'Bug Out Bag': ['quarter', 0.25, 10000], 'small': ['quarters', 0.25, 10]}
for coin in sorted(coins_in_the_bag, key=coins_in_the_bag.get):
        print(str('bag:' + coin + 'coin: ' + coin[0] + 'value: ' + (coin[1] * coin[2]) ))

当我运行它时,我得到:

    print(str('bag:' + coin + 'coin: ' + coin[0] + 'value: ' + (coin[1] * coin[2
]) ))
TypeError: can't multiply sequence by non-int of type 'str'

我怎样才能做到这一点,以便我得到一个输出(正如我试图用我的代码实现的那样):

bag: small coin: quarter 2.50
bag: Bug Out Bag coin: quarter 2500.0

排序 我希望根据每枚硬币的 coin[1] * coin[2] 的总价值对此进行排序。

谢谢。

【问题讨论】:

  • 你用的是哪个版本的python?
  • 如果你告诉我们,根据你想要的排序,它是在键上还是在列表的哪个元素上会更好?
  • 我已将其添加到我的问题中。
  • 加法还是乘法?
  • 值的乘法

标签: python python-3.x printing sequence


【解决方案1】:
>>> coins_in_the_bag = {'Bug Out Bag': ['quarter', 0.25, 10000], 'small': ['quarters', 0.25, 10]}
>>> for k,v in sorted(coins_in_the_bag.items(), reverse=True):
    print ('bag: {0} coin {1} value {2}'.format(k, v[0], v[1]*v[2]))


bag: small coin quarters value 2.5
bag: Bug Out Bag coin quarter value 2500.0

编辑:

如果您想根据每个列表的第二个和第三个元素的乘法对字典项进行排序,这是一种方法:

>>> sorted(coins_in_the_bag.items(), key=lambda s: s[1][1]*s[1][2])
[('small', ['quarters', 0.25, 10]), ('Bug Out Bag', ['quarter', 0.25, 10000])]

【讨论】:

  • 这给了我一个错误:for k,v in sorted(coins.items(), reverse=True): AttributeError: 'list' object has no attribute 'items'
  • coins 是列表还是字典?
  • 我明白了。它 for k,v in sorted(coins_in_the_bag.items(), reverse=True): 而不是 for k,v in sorted(coins.items(), reverse=True): 。请发布您的答案,并标记您为已接受:) 谢谢!!!
【解决方案2】:

我认为这就是你所需要的。

coin = {'Bug Out Bag': ['quarter', 0.25, 10000], 'small': ['quarters', 0.25, 10]}

for c in sorted(coin,key=coin.get):
    print('bag: {0} coin {1} value {2}'.format(c, coin[c][0], float(coin[c][1])*float(coin[c][2])))

【讨论】:

  • 顺序颠倒了
猜你喜欢
  • 2014-12-14
  • 2021-06-11
  • 1970-01-01
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
  • 1970-01-01
相关资源
最近更新 更多