如何在Python中使用循环从JSON提取元素?

Bangbangbang
json_data = [{'User_Info':[{'Name':'John'},{'Name':'Ashly'}, 
{'Name':'Herbert'}]},
{'User_Info':[{'Name':''}]},
{'User_Info':[{'Name':'Lee'},{'Name':'Patrick'},{'Name':'Herbert'}]},
{'User_Info':[{'Name':'Benjamine'}]}]

我有JSON数据,数据的长度为5。我想使用循环从该数据中查找名称。我试过下面的代码,但没有得到预期的输出:

names_outputs = []
for ppl in json_data:
    for i in ppl['User_Info']:
        names_outputs.append(i['Name'])

print(names_outputs)
>>['John','Ashly','Herbert','Lee','Patrick','Walter','Steve','Benjamine']

但是,我的预期输出应该是这样的:

[['John','Ashly','Herbert'],[],['Lee','Patrick','Herbert'],['Walter','Steve'],['Benjamine']]
塞尔丘克

您可以为此使用嵌套列表推导:

>>> [[name["Name"] for name in people] for people in  [d["User_Info"] for d in json_data]]
[['John', 'Ashly', 'Herbert'], [''], ['Lee', 'Patrick', 'Herbert'], ['Benjamine']]

如果要消除空字符串,请使用filter

>>> [filter(None, [name["Name"] for name in people]) for people in  [d["User_Info"] for d in json_data]]
[['John', 'Ashly', 'Herbert'], [], ['Lee', 'Patrick', 'Herbert'], ['Benjamine']]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Python中使用索引从列表中提取元素?

如何在Python中使用Selenium提取文本元素?

如何在Python中使用for遍历json元素

如何在while循环中使用提取

如何在循环中使用提取查询?

如何在for循环中使用提取功能?

如何在python 3中使用Selenium phantomJS从网页的html源中提取表格元素?

如何在XSLT中使用for-each提取特定元素?

python:如何在findall中使用for循环

如何在python中使用for循环填充2d数组的每个元素

如何在Python中使用XPath限制特定xml元素的开始和结束标记之间的元素提取范围?

如何在Swift中使用索引和元素迭代循环

如何在R中使用FOR循环访问多维列表元素

如何在python中的嵌套json中提取元素

如何在循环python外的for循环中使用变量

无法循环使用 API 提取的 JSON 元素

如何在 Groovy 中使用 JsonSlurper 提取 JSON 参数

如何在Python中使用循环从txt文件中提取单词(第二行和第三行)

如何在python中使用apply函数和lambda循环遍历json对象?

如何在Python中使用beautifulsoup提取href内容

如何在Python中使用Selenium Webdriver提取文本?

如何在Python中使用OpenCV提取图像的特定部分?

如何在Python中使用BeautifulSoup提取标签内的文本?

如何在Python中使用BeautifulSoup从标记中提取innerHTML

如何在python中使用Selenium提取<figure>图像?

如何在Python中使用Selenium Webdriver提取Webelement

如何在 Haskell 中使用零个或一个元素从 Set 中提取元素?

如何在Android中使用循环数据创建JSON数组

在 Python 中使用索引提取正元素