Python 遍历作为dict值的列表
我有许多JSON数据集,在转换成dict后,每个数据集都是这样的:Python 遍历作为dict值的列表,python,Python,我有许多JSON数据集,在转换成dict后,每个数据集都是这样的: json_data = { "root":[ 1, 2, 3 ] } 我想用以下内容反复浏览列表[1,2,3]: for value in json_data.values(): print(value) 我希望得到以下输出: 1 2 3 但我明白了: [1,2,3] 我应该在代码中更改什么?谢谢 dict.keys()或dict.values()将为我们提供di
json_data =
{
"root":[
1,
2,
3
]
}
我想用以下内容反复浏览列表[1,2,3]
:
for value in json_data.values():
print(value)
我希望得到以下输出:
1
2
3
但我明白了:
[1,2,3]
我应该在代码中更改什么?谢谢 dict.keys()
或dict.values()
将为我们提供dict\u值([[1,2,3]])
因此,通过这样的方式进行迭代
for value in json_data.values():
print(value)
我们会回来的。注意:json\u data.values()[0]
将返回一个错误TypeError:“dict\u values”对象不可订阅
[1, 2, 3]
你有三个选择
选项1使用您的示例,但重复两次
for value in json_data.values():
for lst in value:
print(last)
选项2如果您知道可以使用的键.get()
或dict['key']
for value in json_data['root']:
print(value)
选项3
for value in json_data.values():
print(*value)
这将为您提供1 2 3
现在当然还有更多的选项,但这些是我能想到的。您可能想使用
dict.items()
:
您可以使用
list
关键字,以便使用json\u data.values()的索引
这将返回:(在您的示例中)
要对json_数据中的所有键执行此操作,可以执行以下操作:
for index in range(len(json_data.values())):
for value in list(json_data.values())[index]:
print(value)
关于json_数据['root']中的值:
@flakes谢谢。但我不知道这组JSON数据中的所有键。一种替代使用值的方法?因此您有多个键,并且知道它们都是列表?是的,所有转换后的JSON数据都有一个根
键(我不知道它们是什么)和一个值,这是一个列表。您可以始终分散列表:打印(*value)
。当然,如果值不可iterable,这是一个错误。您也可以使用列表(json_data.values())[index]
,请参阅我的详细解答。我字面上说“现在当然还有很多选项”是的,我提到了一个这样的选项,因为您还说“这些是我能想到的”。好吧,谢谢。很酷,祝您愉快
json_data = {
"root": [1, 2, 3]
}
for key, values in json_data.items():
print(key, values)
for value in values:
print(value)
for value in list(json_data.values())[0]:
print(value)
1
2
3
for index in range(len(json_data.values())):
for value in list(json_data.values())[index]:
print(value)