1、字典的合并
# 第一种 用Python的内置方法,dict与**解包的方式 >>> a = {‘name‘:1,‘b‘:2} >>> b = {‘name‘:1, ‘c‘:10} >>> c = dict(a, **b) >>> c {‘name‘: 1, ‘b‘: 2, ‘c‘: 10} # 第二种 用字典的update()方法 # 可以带权重的,是用b中的元素将a中的元素更新,a的元素会发生改变,但是内存地址不会发生改变 >>> a {‘a‘: 1, ‘b‘: 2, ‘c‘: 3, ‘d‘: 4} >>> b = {‘c‘:10,"d":11} >>> a.update(b) >>> a {‘a‘: 1, ‘b‘: 2, ‘c‘: 10, ‘d‘: 11} # 第三种(python3.5以上) >>> a = {‘a‘:1,"b":2} >>> b = {‘c‘:3,"d":4} >>> c = {**a,**b} >>> c {‘a‘: 1, ‘b‘: 2, ‘c‘: 3, ‘d‘: 4} # 第四种 # python2.7中 >>> c = dict(a.items()+(b.items()) >>> c {‘a‘: 1, ‘b‘: 2, ‘c‘: 3, ‘d‘: 4} # pyhton3中 >>> c = dict(list(a.items())+list(b.items())) >>> c {‘a‘: 1, ‘b‘: 2, ‘c‘: 3, ‘d‘: 4}
2、字典中的get与setdefault方法
字典常用的取值方式为dict[key],但是这样存在一个问题就是,当key不存在于字典中时,会报错,所以,如果不希望报错,就可以使用get与setdefault方法。
>>> a {‘a‘: 1, ‘b‘: 2, ‘c‘: 10, ‘d‘: 11} >>> a.setdefault(‘c‘,None) 10 >>> a.setdefault(‘w‘,1000) 1000 >>> a {‘a‘: 1, ‘b‘: 2, ‘c‘: 10, ‘d‘: 11, ‘w‘: 1000} >>> a.get(‘e‘,20) 20 >>> a {‘a‘: 1, ‘b‘: 2, ‘c‘: 10, ‘d‘: 11, ‘w‘: 1000}
3、将两个列表转化为字典
利用内置zip方法,将两个列表转化为zip对象,然后利用dict方法,将zip对象转化为字典
>>> c = dict(zip([1, 2, 3, 4, 5, 6, 7], [‘a‘, ‘c‘, ‘b‘, ‘f‘, ‘d‘, ‘e‘, ‘g‘])) >>> c {1: ‘a‘, 2: ‘c‘, 3: ‘b‘, 4: ‘f‘, 5: ‘d‘, 6: ‘e‘, 7: ‘g‘}
其中zip对象可以用for循环遍历,会发现是两个列表中索引对应的一对对的元组。
>>> a = zip([1,2],[3,4]) >>> a <zip object at 0x000001F75C8D0608> >> for i in a: ... print(i) ... (1, 3) (2, 4)
原文地址:https://www.cnblogs.com/Frange/p/8960945.html
时间: 2024-10-27 18:13:14