【发布时间】: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