python 字典合并,字典取值,列表转字典

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-08-19 14:43:39

python 字典合并,字典取值,列表转字典的相关文章

python数据类型基础总结(字符串 列表 元组 字典 集合 )

字符串: 有序.不可变数据类型,支持索引,切片,步长(字符串中的每一个字母或字符都称为元素) 索引(下标):通过索引精确定位到每个元素 索引从左开始向右排 从0开始 索引时不能超过最大值,超出报错 从右向左排从-1开始 切片(顾头不顾尾) 步长 print(name[::2] 取整个字符串,步长为2 字符串方法: upper 全部大写 lower全部小写 capitalize 首字母大写 title每个单词的首字母大写 swapcase 大小写转换 starswith 以..开头 endswit

笨方法学python(6)加分题--列表与字典的区别

he string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A P L S I I G Y I R And then read line by line: "PAHNAPLSIIG

Python学习,第五课 - 列表、字典、元组操作

本篇主要详细讲解Python中常用的列表.字典.元组相关的操作 一.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 通过下标获取元素 #先定义一个列表 letters = ['a', 'b', 'c', 'd', 'e'] letters[1] #输出:b #列表的索引是从0开始 letters[-1] #输出:e #也可以倒着取,-1既倒数第一个元素 切片:获取列表中多个元素 letters = ['a', 'b', 'c', 'd', 'e'] #

python基础2之字符串、列表、字典、集合

内容概要: 一.python2 or 3 二.字符串拼接 三.字符串 四.列表.元祖 五.字典 六.集合 七.练习  一.python2 or python3 目前大多使用python2.7,随着时间的推移,python3将会成为python爱好者的主流. python2和3区别: 1.PRINT IS A FUNCTION 1 Old: print "The answer is", 2*2 New: print("The answer is", 2*2) 2 Ol

Python——day2_基础_模块概念,列表,元组,字典

模块初识 Python中的模块是什么 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt这个函数,必须用语句"#include<math.h>"引入math.h这个头文件,否则是无法正常进行调用的. 那么在Python中,如果要引用一些内置的函数,该怎么处理呢? 在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块, 下面就来了解一下P

python 基础-----数字,字符串,列表,字典类型简单介绍

一.第一个python小程序 首先我们要知道python创立的初衷是:Python崇尚优美.清晰.简单. 所以python比起其他的语言需要的工作量少了一半都不止,比如和现在一直霸占语言排行榜  榜首的Java老大哥相比: public class HelloWorld:{ public static void main(String [] args) { system.out.print("hello world") } } 而伟大的python 只需要那么神奇的一行: print(

python 从Excel中取值

1 import openpyxl 2 from openpyxl import load_workbook 3 4 5 def open_file(file_path): 6 workbook = load_workbook(file_path) # 相对路径,找到需要打开的文件位置 7 booksheet = workbook.active # 获取当前活跃的sheet,默认是第一个sheet 8 # 如果想获取别的sheet页采取下面这种方式,先获取所有sheet页名,在通过指定那一页.

2.python基础深入(元组、字符串、列表、字典)

一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) 比如人类,动物,植物等等,这些都是类的概念. 类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化.类不代表具体的事物,而对

python学习笔记3:基础(元组、字符串、列表、字典)

参考文档:http://www.cnblogs.com/liu-yao/p/5145876.html 一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) 比如人类,动物,植物等等,