我正在学习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
。
答案 0 :(得分:1)
只需使用.items()
来访问字典的键和值。
d = {'hammer':'5', 'scewdriver':'2'}
test = ["{} - {}$".format(k, v) for k,v in d.items()]
print("\n".join(test))