[Python]自学笔记10:字典

1.字典的模板

dict1 = {key1:value1,key2:value2,} #key为键,value为值

2.字典的定义方式

1.利用工厂函数dict()

>>>MyDict1 = dict((('A',1),('B',2),('C',3),('D',4)))

2.利用{ }

>>>MyDict2 = {'A':1,'B':2,'C':3,'D':4}

3.字典元素的增加与删除

1.增加元素
i.update()操作方法(此方法也可添加多个元素,用逗号隔开即可!)
update(E=5) #左边若为字符不需加引号
或者
update({‘F’:6}) #小括号()中要加花括号{}

>>> MyDict1 = dict((('A',2),('B',2),('C',3),('D',4)))
>>> MyDict1.update(E=5)
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5}
>>> MyDict1.update({'F':6})
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6}

2.删除元素
i.pop(key)操作方法 (此处key为必填项!)

>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6}
>>> MyDict1.pop('F')
6
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5}

ii.popitem()操作方法
返回并删除字典中的最后一对键和值。

>>> MyDict = {'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5}
>>> MyDict. popitem()
('E', 5)
>>> MyDict.popitem()
('D', 4)
>>> MyDict
{'A': 2, 'B': 2, 'C': 3}

iii.del dict[key]

>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5}
>>> del MyDict1['E']
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4}

4.其他操作方法

1.fromkeys()
fromkeys是创造一个新的字典。就是事先造好一个空字典和一个列表,fromkeys会接收两个参数,第一个参数为从外部传入的可迭代对象,会将循环取出元素作为字典的key值,另外一个参数是字典的value值,不写所有的key值所对应的value值均为None,写了则为默认的值

>>> dict1.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
>>> dict1.fromkeys((1,2,3),'number')
{1: 'number', 2: 'number', 3: 'number'}
>>> dict1 = dict1.fromkeys(range(32),'zan')
>>> dict1
{0: 'zan', 1: 'zan', 2: 'zan', 3: 'zan', 4: 'zan', 5: 'zan', 6: 'zan', 7: 'zan', 8: 'zan', 9: 'zan', 10: 'zan', 11: 'zan', 12: 'zan', 13: 'zan', 14: 'zan', 15: 'zan', 16: 'zan', 17: 'zan', 18: 'zan', 19: 'zan', 20: 'zan', 21: 'zan', 22: 'zan', 23: 'zan', 24: 'zan', 25: 'zan', 26: 'zan', 27: 'zan', 28: 'zan', 29: 'zan', 30: 'zan', 31: 'zan'}

2.keys()
以列表返回一个字典所有的键。

>>> MyDict1
{1: 2, 'B': 2, 'C': 3, 'D': 4}
>>> MyDict1.keys()
dict_keys([1, 'B', 'C', 'D'])

3.values()
以列表返回一个字典所有的值。

>>> MyDict1
{1: 2, 'B': 2, 'C': 3, 'D': 4}
>>> MyDict1.values()
dict_values([2, 2, 3, 4])

4.items()
以列表返回可遍历的(键, 值) 元组数组。

>>> MyDict1
{1: 2, 'B': 2, 'C': 3, 'D': 4}
>>> MyDict1.items()
dict_items([(1, 2), ('B', 2), ('C', 3), ('D', 4)])

5.get()
返回指定键的值,如果值不在字典中返回默认值。

>>> MyDict
{'A': 2, 'B': 2, 'C': 3}
>>> MyDict.get('A')
2

6.setdefault(key,value) #value为默认值,可不填
和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。

>>> MyDict
{'A': 2, 'B': 2, 'C': 3}
>>> MyDict.setdefault('D')
>>> MyDict
{'A': 2, 'B': 2, 'C': 3, 'D': None}
>>> MyDict.setdefault('E',5)
5
>>> MyDict
{'A': 2, 'B': 2, 'C': 3, 'D': None, 'E': 5}

7.clear()
删除整个字典

>>> MyDict
{'A': 2, 'B': 2, 'C': 3, 'D': None, 'E': 5}
>>> MyDict.clear()
>>> MyDict
{}

5.字典的拷贝

可以利用字典的copy()方法:dict2 = dict1.copy(),在其他语言转移到Python小伙伴们刚开始可能会习惯性的直接用赋值的方法(dict2 = dict1),这样子做在Python中只是将对象的引用拷贝过去而已。

>>> a = {1:'one', 2:'two', 3:'three'}
>>> b = a.copy()
>>> c = a
>>> c[4] = 'four'
>>> c
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
>>> a
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
>>> b
{1: 'one', 2: 'two', 3: 'three'}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值