映射 字典

字典是由多个键值对组成,键可以是数字,字符串,元组(即任何不可变类型),但字典中的键是唯一的,值也可以是任意数据结构,值不唯一

键和值之间用冒号:隔开,键值对与键值对之间用逗号,隔开   整个字典用大括号括起来{}

创建方式:

有两种创建方式,1用字典的定义方式,键值对表示,2用dict函数

>>> stuno={'cc':'011','zm':'016','wyj':'014'}#字典的定义方式
>>> stuno
{'wyj': '014', 'cc': '011', 'zm': '016'}
>>> stu_no=[('cc','011'),('zm','016')]
>>> stuno_d=dict(stu_no) #使用dict函数将其转换成字典
>>> stuno_d
{'cc': '011', 'zm': '016'}
>>> stuno_d['zm']
'016'

基本字典操作:

>>> len(stuno_d)#查看字典长度    键值对的个数
2
>>> stuno_d['zm']   #查看键‘zm’的值是多少
'016'
>>> stuno_d['cc']='047'#给键赋值
>>> del stuno_d['zm']#删除指定的键值对
>>> 'zm' in stuno_d   #判断是否存在
False
>>> stuno_d
{'cc': '047'}
>>> stuno_d['zm']='038'  #即使键不存在  也可以添加一个键出来   比列表高效
>>> stuno_d
{'cc': '047', 'zm': '038'}

字典方法:

1 clear

>>> stuno_d
{'cc': '047', 'zm': '038'}
>>> d=stuno_d
>>> d
{'cc': '047', 'zm': '038'}
>>> d.clear()
>>> d
{}
>>> stuno_d
{}
#赋值操作  其实 对应的是同一个字典  clear 清除一个之后 两个字典变量都显示 为空

2 copy

>>> stuno={'cc':'011','zm':'016','wyj':'014'}
>>> stuno
{'wyj': '014', 'cc': '011', 'zm': '016'}
>>> d=stuno.copy()
>>> d
{'wyj': '014', 'cc': '011', 'zm': '016'}
>>> d.clear()
>>> d
{}
>>> stuno
{'wyj': '014', 'cc': '011', 'zm': '016'}
#而 copy方式赋值  会产生一个新的字典   再使用clear  只会清空当前字典  原始字典不受影响

3 fromkeys

用给定的键建立新的字典

>>> stuno
{'wyj': '014', 'cc': '011', 'zm': '016'}
>>> dic=stuno.fromkeys(['cc','tcm'])
>>> dic
{'tcm': None, 'cc': None}

4 get

返回字典项的方法

>>> stuno
{'wyj': '014', 'cc': '011', 'zm': '016'}
>>> stuno.get('wyj')
'014'
>>> stuno.get('zzzz')
>>> print(stuno.get('aaga'))
None

可以get(一个不存在的值)

5 has_key

判断是否有某个键  但是Python3 中没有这个函数

6 items

将所有字典中的键值对 以 列表 的方式返回[(键值对),(),()]

>>> stuno.items()
dict_items([('wyj', '014'), ('cc', '011'), ('zm', '016')])

Python3 中没有 iteritems

7 keys

将字典中的键以列表的形式返回

>>> stuno.keys()
dict_keys(['wyj', 'cc', 'zm'])

Python3 中没有 iterkeys

8 pop

移除一个指定元素

>>> stuno.pop('wyj')
'014'
>>> stuno
{'cc': '011', 'zm': '016'}
>>> stuno.popitem()  #随机移除一个元素
('cc', '011')

9 update

用一个字典更新另一个字典

10  values

以列表形式返回字典中的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值