【问题标题】:when printing key and value it prints they key+value as many times as I have digits in my value [duplicate]打印键和值时,它会打印键+值的次数与我的值中的数字一样多[重复]
【发布时间】:2019-03-30 11:51:30
【问题描述】:

我正在学习 Python 3 中的编程,但在为列表中的语句格式化 2 时遇到问题。 这是我的做法:

items = {
    "Iphone X": {"price": 1000, "stock":10},
    "Samsung S9": {"price": 800, "stock":10},
    "Huawei P20": {"price": 600, "stock":10},
    "HTC Vive": {"price": 400, "stock":10}
}
    test = ["{} - {}$".format(nume, pret) for nume in items.keys() for pret in items[nume]["price"]]
    print("\n".join(test))

我不知道为什么当我将 items[nume]["price"] 的类型更改为 str 时,它会打印键 + 值,它会打印出我的值中的位数。

如果我不更改items[nume]["price] 的类型,它会告诉我TypeError: 'int' object is not iterable

【问题讨论】:

  • , 在那里做什么?
  • @DeepSpace,我想我需要将 2 for 语句分开。
  • 什么是items?您正在循环键,但还希望它有一个 price 键?
  • @PatrickHaugh 我将它们添加到代码中,抱歉我以为我已经将它们放入了。

标签: python python-3.x list printing format


【解决方案1】:

只需使用.items() 即可访问字典的键和值。

d = {'hammer':'5', 'scewdriver':'2'}

test = ["{} - {}$".format(k, v) for k,v in d.items()]
print("\n".join(test))

【讨论】:

  • 嘿@BernardL,感谢您抽出宝贵时间回答我的问题,但据我所知,如果我这样做字典,我将无法像我一样添加库存我的现在。
  • @SebastianNeamtu 按键选择,["{} - {}$".format(k, v['price']) for k,v in d.items()]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-18
  • 2020-03-07
  • 2013-05-04
  • 2021-08-14
相关资源
最近更新 更多