我在使用Python中的列表中获取键和值时遇到问题。该列表本身包含许多JSON行,结构如下:
[{"values":"test","cost":"1234"},{"values":"test2","cost":"12345"}]
问题是我理想情况下不想将其转换为字典,因为它意味着在读取原始JSON文件期间填充一个并将每个JSON片段附加到列表然后将列表附加到字典。
我发现我可以通过这样做来打印密钥:
for line in file:
mylist.append(json.loads(line))
for line in mylist:
for key in line.keys():
print(key)
这一切都很好,它会打印所有的键,例如示例,“值”,“测试”等。但我无法像使用字典一样访问每个键的值:
for line in file:
mylist.append(json.loads(line))
for line in mylist:
for key,value in line.keys():
print(value)
因为这会抛出一个错误,说“打开太多值”,是否有一个更简单的解决方案,我没有考虑过?我已经查看了许多其他解决方案,但似乎都导致更新字典并通过字典访问键值,但我宁愿不必附加到列表然后更新每个列表的字典。
答案 0 :(得分:3)
要访问键和值,请使用字典的initialize
方法。
.items()
另请注意,第一种情况下的for key, value in line.items()
不是必需的,因为通过字典迭代通常会返回其键。
.keys()