Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从嵌套在列表中的词典中获取值?_Python_Python 3.x - Fatal编程技术网

Python 从嵌套在列表中的词典中获取值?

Python 从嵌套在列表中的词典中获取值?,python,python-3.x,Python,Python 3.x,我从facebook API中提取数据,它返回的基本上是一个嵌套的JSON文件 我已经通过管道将数据传输到pandas数据框架中,其中一列返回了嵌套在列表中的一系列词典。(参见下面代码中的示例) 当action_type=landing_page_view时,我究竟如何从每个变量(即a、b、c)中提取值 i、 e.在变量a中,搜索特定动作类型时如何提取值 i、 e.当我要搜索“landing_page_view”变量时,返回44、96和116 我尝试过各种各样的for循环和类似的东西,但我没有任

我从facebook API中提取数据,它返回的基本上是一个嵌套的JSON文件

我已经通过管道将数据传输到pandas数据框架中,其中一列返回了嵌套在列表中的一系列词典。(参见下面代码中的示例)

当action_type=landing_page_view时,我究竟如何从每个变量(即a、b、c)中提取值

i、 e.在变量a中,搜索特定动作类型时如何提取值

i、 e.当我要搜索“landing_page_view”变量时,返回44、96和116

我尝试过各种各样的for循环和类似的东西,但我没有任何运气。我不知所措

a = [{'action_type': 'landing_page_view', 'value': '44'}, {'action_type': 'link_click', 'value': '102'}, {'action_type': 'post_reaction', 'value': '5'}, {'action_type': 'post_engagement', 'value': '107'}, {'action_type': 'page_engagement', 'value': '107'}]

b = [{'action_type': 'comment', 'value': '1'}, {'action_type': 'landing_page_view', 'value': '96'}, {'action_type': 'link_click', 'value': '285'}, {'action_type': 'post_reaction', 'value': '25'}, {'action_type': 'post_engagement', 'value': '311'}, {'action_type': 'page_engagement', 'value': '311'}]

c = [{'action_type': 'post_reaction', 'value': '11'}, {'action_type': 'landing_page_view', 'value': '116'}, {'action_type': 'link_click', 'value': '319'}, {'action_type': 'post_engagement', 'value': '330'}, {'action_type': 'page_engagement', 'value': '330'}]
b
c
重复上述步骤


b
c
重复上述操作。您可以像平常一样访问它,但列表和位置在开头

例如:

lists = [{'hello':'world', 'bye':'world'}]
print (lists[0]['hello'])
lists[0]['hello'] = "user"
print (lists[0]['hello'])
输出:

world
user

您可以像平常一样访问它,但列表和位置在开头

例如:

lists = [{'hello':'world', 'bye':'world'}]
print (lists[0]['hello'])
lists[0]['hello'] = "user"
print (lists[0]['hello'])
输出:

world
user

一行解决方案:

[item['value'] for item in a if item['action_type'] == 'landing_page_view']

一行解决方案:

[item['value'] for item in a if item['action_type'] == 'landing_page_view']

我觉得乔纳森的方法是最好的


[item['value']对于if项中的项['action\u type']=='landing\u page\u view']

我觉得乔纳森的方法最适合于此


[item['value']对于if项中的项['action\u type']=='landing\u page\u view']

对于那些不太喜欢列表理解的人,这里有另一种方法:

from cherrypicker import CherryPicker
picker = CherryPicker(a)
picker(action_type='landing_page_view')['value'].get()

使用
pip安装--user cherrypicker
安装
cherrypicker
。阅读文档中的更高级用法:。

对于那些不太喜欢列表理解的人,这里有另一种方法:

from cherrypicker import CherryPicker
picker = CherryPicker(a)
picker(action_type='landing_page_view')['value'].get()

使用
pip安装--user cherrypicker
安装
cherrypicker
。阅读文档中的更多高级用法:。

请展示您对代码的最佳尝试以及您无法解决的确切问题。请展示您对代码的最佳尝试以及您无法解决的确切问题。热爱这一点!非常感谢。一定会记住的,不客气!别忘了投票,并将你的问题标记为已回答;)喜欢这个!非常感谢。一定会记住的,不客气!别忘了投票,并将你的问题标记为已回答;)