python 数组 变成 字典的方法

Python030

python 数组 变成 字典的方法,第1张

1、现在有两个 列表 ,list1 = ['key1','key2','key3']和list2 = ['1','2','3'],把他们转为这样的 字典 :{'key1':'1','key2':'2','key3':'3'}

>>list1 = ['key1','key2','key3']

>>list2 = ['1','2','3']

>>>dict(zip(list1,list2))

{'key1':'1','key2':'2','key3':'3'}

2、将嵌套 列表 转为 字典 ,有两种方法

>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]

>>>dict(list)

{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}

或者这样:

>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]

>>>new_dict = {}

>>>for i in new_list:

... new_dict[i[0]] = i[1]# 字典 赋值,左边为key,右边为value

...

>>>new_dict

{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}

创建一个空字典自需要一对大括号即可,从已有的键-值对映射或关键字参数创建字典需要使用 dict 函数(类)

把一个列表转为字典,列表的每一项都是长度为2的序列。

还可使用 关键字实参 (**kwargs)来调用这个函数,如下所示:

字典的基本操作与序列十分相似:

字典与序列的不同:

方法 clear 删除所有的字典项(key-value)。

复制,得到原字典的一个新副本。

效果等同于调用 dict(d) 创建新字典。

copy() 执行的是 浅复制 ,若字典的值是一个可变对象,那么复制以后,相同一个键将关联到同一个对象,修改该对象,将同时修改两个字典。

模块copy中的函数deepcopy 可执行深复制。

方法fromkeys 创建一个新字典,其中包含指定的键,且每个键对应的值都是None,或者可以提供一个i额默认值。

方法get 为访问字典项提供了宽松的环境。通常,如果你试图访问字典中没有的项,将引发错误,而get直接返回None,或者可设置默认返回值。

当字典中不存在指定键时, setdefault(k,v) 添加一个指定键-值对;且返回指定键所关联的值。

这三个方法返回值属于一种名为 字典视图 的特殊类型。字典视图可用于迭代。另外,还可确定其长度以及对其执行成员资格检查。

这三个方法自大的特点是不可变,当你的接口试图对其他用户提供一个只读字典,而不希望他们修改的时候,这三个方法是很有用的;而且当原字典发生改变时,这些方法返回的对象也会跟着改变。

方法 pop 可用于获取与指定键相关联的值,并将该键-值对从字典中删除。

popitem随机删除一个键-值对,并返回一个二维的元组 (key, value) ,因为字典是无序的,所以其弹出的顺序也是不确定的。

书上说,这个方法在大数据量时执行效率很高,但没有亲测。

方法update 使用一个字典中的项来更新另一个字典。