我有一个列表,其中包含这样的字典:
json_obj = [[{'id': None},{'id': '5b98d01c0835f23f538cdcab'},{'id': '5b98d0440835f23f538cdcad'},{'id': '5b98d0ce0835f23f538cdcb9'}],[{'id': None},{'id': '5b98d01c0835f23f538cd'},{'id': '5b98d0440835f23f538cd'},{'id': '5b98d0ce0835f23f538cdc'}]]
我希望它存储在这样的列表列表中:
y=[['None','5b98d01c0835f23f538cdcab','5b98d0440835f23f538cdcad','5b98d0ce0835f23f538cdcb9'],['None','5b98d01c0835f23f538cd','5b98d0440835f23f538cd','5b98d0ce0835f23f538cdc']]
为了从字典中读取id,我尝试了
for d in json_obj:
print(d['id'])
但我在上面的代码中看到了这个错误:
TypeError: list indices must be integers or slices, not str
2 回答
使用嵌套列表理解 .
要么
Output:
你有一个嵌套的 list of lists . 它有时有助于明显地观察这一点,请注意嵌套的
[]
语法:您的语法适用于单个列表:
对于嵌套列表,您可以使用标准库中的itertools.chain.from_iterable:
或者,如果没有导入,您可以使用嵌套的
for
循环: