当打印键和值时,它打印它们的键和值的次数是我的值中包含数字的次数

时间:2018-10-25 19:12:51

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

我正在学习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

1 个答案:

答案 0 :(得分:1)

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

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

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