首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我有一个字典列表,我想获取Python中每个字典中都存在的相同元素。

我有一个字典列表,我想获取Python中每个字典中都存在的相同元素。
EN

Stack Overflow用户
提问于 2015-03-18 02:33:36
回答 3查看 60关注 0票数 0

如何从Python中的迪克列表(其中也包含一个名为“abc”的键)中获取名为“abc”的元素?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>>y = [{123:'asd', 'xyz':'asff', 'zara':'afasf', 'abc':'afsff'},
     {123:'gfg', 'xyz':'sgggh', 'zara':'sghh', 'abc':'sfgbg'}];

>>>a=y[0]

>>>a

{123: 'asd', 'abc': 'afsff', 'xyz': 'asff', 'zara': 'afasf'}

>>>a['abc']
'afsff'

>>>b=y[0:2]

>>>b

[{123: 'asd', 'abc': 'afsff', 'xyz': 'asff', 'zara': 'afasf'},
{123:'gfg', 'xyz':'sgggh', 'zara':'sghh', 'abc':'sfgbg'}]

>>>b['abc']
-------------------------------------------------------------------------
TypeError                             Traceback (most recent call last)
<ipython-input-98-443ce66e30fa> in <module>()
----> 1 b['abc']

在尝试TypeError时:列表索引必须是整数,而不是str

我需要像sfgbg那样的输出。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-18 02:40:18

由于在本例中,b变量是一个列表,因此需要分别访问其每个元素以查找字典中的值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>>b[0]['abc']
'afsff'
>>>b[1]['abc']
'sfgbg'

要一次从每个字典中获取所有值,可以使用for循环:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>>for nested_dict in b:
...    nested_dict['abc']
'afsff'
'sfgbg'

这个操作的缩写将是一个列表组合,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>>[nested_dict['abc'] for nested_dict in b]
['afsff', 'sfgbg']

除非您只想打印这些值,否则使用起来可能会更容易,因为它的计算结果本身就是一个列表,可以对其进行操作。

票数 3
EN

Stack Overflow用户

发布于 2015-03-18 02:53:23

您需要每个字典的'abc'元素:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from operator import itemgetter

y = [{123:'asd', 'xyz':'asff', 'zara':'afasf', 'abc':'afsff'},
     {123:'gfg', 'xyz':'sgggh', 'zara':'sghh', 'abc':'sfgbg'}]

print( map(itemgetter('abc'), y) )  # --> ['afsff', 'sfgbg']
票数 2
EN

Stack Overflow用户

发布于 2015-03-18 03:38:26

“马丁诺”的答案基本上是正确的。

我应该在这里引发的唯一异常是链接到从Python解释器引发的异常,如果键(在本例中为‘abc’,或者在任何其他未定义的情况下为 this other )不能存在于列表中的每个dict中。

为了简化所需值的提取,我可以提出如下建议

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
`
from operator import itemgetter

list_of_dicts = [{123:'asd', 'xyz':'asff', 'zara':'afasf', 'abc':'afsff'},
     {123:'gfg', 'xyz':'sgggh', 'zara':'sghh', 'abc':'sfgbg'}];
current_key = 'abc'

try:
    print [itemgetter(current_key)(d) for d in list_of_dicts]
except:
    print 'The key %s does not exist inside %s'%(current_key, list_of_dicts)
`

尝试阅读项目吸气剂的Python文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29119683

复制
相关文章
Python列表dict中相同key的字典相加
总结为: 1.去重id 2.通过去重id生成count值为空的dict 3.先循环目标数据,再循环去重后的dict 通过if判断,相同则相加,不同则跳过,这样就达到了dict相加的目的 # 怎么把列表中相同key的字典相加,也就是id的值加id的值,doc_count的值加doc_count的值 # 目标列表 l=[{'id': 5, 'doc_count': 129}, {'id': 1, 'doc_count': 3}, {'id': 1, 'doc_count': 64}] #统计ID
kirin
2021/03/12
4.8K0
python中列表排序,字典排序,列表中的字典排序
key= lambda dict1:dict1[0] #dict1[0]表示按键,dict1[1]表示按值。
用户8346838
2021/03/10
9.1K0
Python - 从字典列表中删除字典
字典是python的一个非常常用的功能,用于根据用户需要在其中存储数据。另一个典型的过程涉及编辑或操作此数据。要成为一名高效且快速的程序员,您必须弄清楚如何从字典列表中删除字典。有许多技术可以从词典列表中删除字典,本文将介绍这些技术。
很酷的站长
2023/08/11
2060
Python - 从字典列表中删除字典
有哪些Python字典遍历、计算字典长度、字典判断key是否存在的方法?
字典和其他数据类型不一样,字典中有键和值成对出现,所以对于字典的遍历就不是太一样了,之前我们一直都是用for循环来遍历字典,而且for循环中只有一个变量,字典遍历中就需要两个变量同时存在。下面我们对Python字典的遍历,判断和计算都分别举例演示一下。
python自学网
2021/12/02
2.8K0
有哪些Python字典遍历、计算字典长度、字典判断key是否存在的方法?
python3 列表内多个字典 相同
需求 计算 列表内 名字一样的 value 值 name = [ {'name': 'he', 'value': 100, 'ps': 'test1'}, {'name': 'quan', 'value': 150, 'ps': 'test2'}, {'name': 'he', 'value': 100, 'ps': 'test3'}, {'name': 'quan', 'value': 200, 'ps': 'test4'} ] 代码 pip install pan
py3study
2020/01/03
6010
python数据分析基础day4-字典字典的定义字典创建字典元素的获取字典的排序
今天说一下重要的数据类型,字典。 字典的定义 python中字典类型就是键值对的集合,其中键在一个字典中必须是唯一的,值没有这个要求。此外,值可以是数值,字符串,列表,元组或者是字典。 字典创建 a_dict={'a':1,'b':'test',c:[1,2,3]} 字典元素的获取 通过在字典名称后加[键]获取某个键对应的值。 a_dict[‘a’] 还可通过dict.keys(),dict.values(),dict.items()分别获取整个字典键的列表,值列表以及键值对元组列表。 字典的
billyang916
2018/05/02
2.1K0
【Python】字典 dict ① ( 字典定义 | 根据键获取字典中的值 | 定义嵌套字典 )
字典 在 大括号 {} 中定义 , 键 和 值 之间使用 冒号 : 标识 , 键值对 之间 使用逗号 , 隔开 ;
韩曙亮
2023/10/11
2810
Python - 删除列表中的重复字典
Python 是一个非常广泛使用的平台,用于 Web 开发、数据科学、机器学习以及自动化执行不同的过程。我们可以将数据存储在python中,以不同的数据类型,例如列表,字典,数据集。python字典中的数据和信息可以根据我们的选择进行编辑和更改
很酷的站长
2023/08/11
3141
Python - 删除列表中的重复字典
【Python】字典 dict ② ( 字典常用操作 | 字典 新增 / 更新 键值对元素 | 字典 删除 键值对元素 | 字典 清空 键值对元素 )
上面的语法 , 就是向 字典变量 中添加新的 键值对元素 键Key: 值Value ;
韩曙亮
2023/10/11
3300
Python中的列表、元祖、字典的区别
定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的eg:aList=[123,'abc',4.56,['inner','list'],7-9j] 1.list(str):将str转换成list类型,str可以使字符串也可以是元组类型2.aList.append('test'):追加元素到列表中去3.del aList[1]:删除列表中下标为1的元素del aList:删除整个列表4.cmp(list1,list2):比较两个列表的大小5.len(
py3study
2020/01/09
2.8K0
python列表、元组、字典
列表是由一序列特定顺序排列的元素组成的。可以把字符串,数字,字典等都可以任何东西加入到列表中,列表中的元素之间没有任何关系。列表也是自带下标的,默认也还是从0开始。列表常用方括号表示,即:[],元素用逗号隔开。
py3study
2020/01/15
1.2K0
python3-列表中存储字典
# Auther: Aaron Fan #示例1: #定义几个字典 alien_0 = {"color":"green", "points":5} alien_1 = {"color":"yellow", "points":10} alien_2 = {"color":"red", "points":15} #把字典存入到列表aliens中 aliens = [alien_0, alien_1, alien_2] #遍历这个列表 for alien in aliens:    print(alien
py3study
2020/01/06
1.4K0
python3-字典中存储列表
# Auther: Aaron Fan #示例1: #存储所点披萨的信息 pizza = {    '外皮':'厚的',    '配料列表':['香菇', '奶酪'], } #概述所点的比萨 print('您点了一道"%s-外皮"的比萨信息: ' % pizza['外皮']) for 配料 in pizza['配料列表']:    print("\t%s" % 配料) #示例2: 最喜欢的语言 = {    '张三':['python','ruby'],    '李四':['c'],    
py3study
2020/01/07
1.8K0
Python 字典key的获取
字典key的获取 []的获取方法 字典+中括号内传key , 不进行赋值操作` 即为获取 返回key对应的value值 内置函数get获取方法 功能 获取当前字典中指定key对应的value 用法 dict.get(key, default=None) 参数 key : 需要获取value的key default : key不存在则返回此默认值 , 默认是None , 我们也可以自定义(可以是任意类型) []与get的区别 []如果获取的key不存在, 则**直接报错** get如果获取的key不存在 ,
Zkeq
2022/05/18
1.8K0
Python列表、元组、字典操作
#!/usr/bin/python # -*- coding: UTF-8 -*- list1 = [1,2,'a', 'b'] seq = (1,4,5) print list1[2] #获取第三个元素(下标是从0开始) print list1[-3] #获取倒数第三个元素 print list1[2:] #获取第三个元素到最后一个 print len(list1) #获取列表元素个数 print max(list1) #获取最大的元素 print min(list1) #
苦咖啡
2018/04/28
1.7K0
python 字典、列表、json转换
#!/usr/bin/python3   import json      #python字典类型转换为json对象   data = {       'id' : 1,       'name' : 'test1',       'age' : '1'   }   data2 = [{       'id' : 1,       'name' : 'test1',       'age' : '1'   },{       'id' : 2,       'name' : 'test2',       '
一朵灼灼华
2022/08/05
1.4K0
python之列表、元组、字典
3 深拷贝和浅拷贝 1 浅拷贝: 当列表中存在有个列表时,其修改这个列表中列表的某一个元素时,其他被拷贝的列表中的对应元素也将被拷贝,其在拷贝这个列表中的列表时,拷贝的是这个内嵌列表的内存位置。
py3study
2020/01/14
2.8K0
Python 列表/元祖/字典/集合
版权声明:Copyright © https://blog.csdn.net/zzw19951261/article/details/79950270
zhengzongwei
2019/07/31
1.2K0
Python的字典与散列表
说明: 本文是上一篇《Python的可散列对象》的续篇,两者都是对《Python大学实用教程》和《跟老齐学Python:轻松入门》有关字典内容的进阶知识。
老齐
2021/03/11
4.7K0
Python 列表&元组&字典&集合
列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片、合并、删除等操作 可通过索引来向指定位置插入元素 可通过pop()方法删除末尾元素,pop(索引位置)来删除指定位置元素 替换元素可直接通过赋值给对应的的索引位置 1 classMates = ['zhangsan','lisi','wangwu'] 2 print(classMates[0]) #通过索引来获取元素 3 print(classMates[-1]
py3study
2020/01/19
1.3K0

相似问题

python获取我的字典获取元组或列表

10

我有一个值列表,我想迭代地将键-值对附加到python字典中

223

我想从2个python字典中构造一个列表,这些字典有相同的键,但键值不同。

50

为字典列表B中不存在的字典列表A中的每个字典创建字典列表

112

我想让字典a使用字典b。

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文