Python标准数据类型(五)字典

字典(dict)与列表(list)和集合(set)一样,是可变的数据类型。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
键是唯一的,值可以不唯一
如:字符串、数字、元组

>>> dict0 = dict(a = 0);dict0
{'a': 0}

创建

  • 空字典的创建:
>>> empty_dict = dict()
>>> empty_dict
{}
>>> type(empty_dict)
<class 'dict'>
  • 其他字典的创建:

1.通过关键字dict和关键字参数创建

>>> dict1 = dict(a = 1,b = 2,c = 3);dict1
{'a': 1, 'c': 3, 'b': 2}

2.通过二元组列表创建

>>> dict2 = [('a',1),('b',2),('c',3)]
>>> dict(dict2)
{'a': 1, 'c': 3, 'b': 2}
>>> dict2
[('a', 1), ('b', 2), ('c', 3)]

3.dict和zip结合创建

>>> dict3 = zip('abc',[1,2,3])
>>> dict(dict3)
{'a': 1, 'c': 3, 'b': 2}
>>> dict3
<zip object at 0x0000025101B61DC8>

4.通过fromkeys()创建

>>> dict4 = dict.fromkeys(range(3),'a');dict4
{0: 'a', 1: 'a', 2: 'a'}

浅复制(copy)

语法:
D.copy()

返回一个字典的浅复制

>>> dict1 = dict(a = 1,b = 2,c = 3)
>>> dict2 = dict1.copy()
>>> dict2
{'c': 3, 'b': 2, 'a': 1}

得到键值(get)

语法:
D.get(k[,d])

返回指定键的值,如果值不在字典中返回d值

>>> dict1
{'c': 3, 'b': 2, 'a': 1}
>>> dict1.get('b')
2
>>> dict1.get('d',0)
0

遍历(item)

语法:
D.items()

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

>>> dict1
{'c': 3, 'b': 2, 'a': 1}
>>> dict1.items()
dict_items([('c', 3), ('b', 2), ('a', 1)])

返回所有键/值(keys/values)

语法:
D.keys()
D.values()

以列表返回一个字典所有的键/值

>>> dict1.keys()
dict_keys(['c', 'b', 'a'])
>>> dict1.values()
dict_values([3, 2, 1])

得到键值2(setdefault)

语法:
D.setdefault(k[,d])

和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

>>> dict1
{'c': 3, 'b': 2, 'a': 1}
>>> dict1.setdefault('c')
3
>>> dict1.setdefault('d')
>>> dict1
{'c': 3, 'd': None, 'b': 2, 'a': 1}

更新(update)

语法:
D.update([E, ]**F)

把另一个字典的键/值更新到原字典中

>>> dict2 = dict(d = 4)
>>> dict1.update(dict2)
>>> dict1
{'c': 3, 'd': 4, 'b': 2, 'a': 1}

弹出(pop)

语法:
D.pop(k[,d])

删除字典给定键 k 所对应的值,返回值为被删除的值。(k值必须给出)
否则,返回d的值。

>>> dict1
{'c': 3, 'd': 4, 'b': 2, 'a': 1}
>>> dict1.pop('e',5)
5
>>> dict1.pop('d')
4
>>> dict1
{'c': 3, 'b': 2, 'a': 1}

随机删除(popitem)

语法:
D.popitem()

随机返回并删除字典中的一对键和值。

>>> dict1
{'c': 3, 'b': 2, 'a': 1}
>>> dict1.popitem()
('c', 3)
>>> dict1
{'b': 2, 'a': 1}

清空(clear)

语法:
D.clear()

删除字典内所有元素

>>> dict1.clear()
>>> dict1
{}

参考文献:
参考1
参考2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值