字典
字典也是一个集合,但是其每个元素包含两部分——键和值。和列表一样,其对元素个数没有限制,可以动态添加和删除元素。和列表不同的是,其对元素自动按照某种规则排序,所以在插入元素时不能指定位置。
创建字典
可以用多种方法来创建一个没有元素的字典,即空的字典。
第一种方法:
a={}
第二种方法:
a=dict()
第三种方法:使用空的列表作为输入
c = dict([])
基本操作:
1.计算元素个数——len()
如果字典为空,返回0;否则返回一个正整数表示键-值对的个数。
2.添加元素
如果该键不存在,则新建该键。
a = {1: 100, 2: 200}
a[3] = 300#添加元素3:300,键为3,值为300
a={1: 100, 2: 200, 3: 300}
3.修改元素值
如果该键已经存在,则修改该键的值。
4.得到元素值——get()
如果该键存在,返回该键对应的值;否则返回None。
a = {1: 100, 2: 200}
a.get(1) # 键1存在,返回其对应的值100
a.get(8) # 键8不存在,返回None
5.更新值——a.update(字典b)
对于字典b中的元素,如果其存在于字典a中,则用b的值覆盖a的值;如果不存在于a中,则添加一个新的元素到a中。该过程a发生了变化而b没有变化。该函数没有返回值。
a = {1: 100, 2: 200}
b = {1: 1000, 3: 3000}
a.update(b)
字典a发生了变化
a={1: 1000, 2: 200, 3: 3000}
6.是否存在某个键——has_key(键)
如果存在该键,返回True;否则返回False。
a = {1: 100, 2: 200}
a.has_key(1) # 是否存在键1?存在
输出结果:True
a.has_key(3) # 是否存在键3?不存在
输出结果:False
7.得到键组成的列表——key()
该函数返回一个列表,每个元素都是原来字典的键。
a = {1: 100, 2: 200}
r=a.keys()
type(r)#输出结果:<class 'list'>
print(r)
8.得到值组成的列表——values()
该函数返回一个列表,每个元素都是原来字典的值。
如果有重复的值,则在返回列表中也会出现重复的元素。
9.得到键-值元组的列表——items()
这在Python 2和Python 3中有所不同。在Python 2中,该操作返回的是一个列表,如下所示:
Python2返回而在Python 3中,返回的是一个类实例对象,如下所示:
python3返回但不论是Python 2还是Python 3,都可以对items()的返回值使用in操作符:
a = {1:100,2:200,3:300}
for k,vin a.items():
print(k,v)
10.删除所有元素——clear()
该操作会丢掉所有的元素,但是字典自身还存在,既字典的id没有变化。
11.删除指定键的元素——pop(键)
如果指定的键不存在,抛出KeyError异常。
也可以指定默认值,即如果指定的键不存在,返回该默认值。这时就不会抛出异常了。
12.复制——copy()
该函数返回一个新的对象,但是值和原来的一样。
13.in操作符
该操作符用于判断某个值是否为字典的某个键,即是否存在这样一个键,其值等于指定的值。
网友评论