python字典

  • 字典是无序的键值对的集合(key:value)
  • 同一个字典内的键必须是互不相同的
  • 一个大括号{}创建一个空字典
  • 字典的键必须是不可变类型,比如你不能用列表作为键
  • dict()可以从包含键值对的元组中创建字典
>>>dict((('I','D'),('B','C')))
{'I':'D','B':'C'}
  • 如果想要遍历一个字典,使用字典的items()方法
>>>data={'K':'F','J':'M'}
>>>for x,y in data.items():
...    print('{} uses {}'.format(x,y))
...
K uses F
J uses M

试图索引一个不存在的键将会抛出一个keyError错误。可以使用dict.get(key,default)来索引键,如果键不存在,那么返回指定的default值

>>>data.get('K',0)
'F'
>>>data.get('L',0)
0

enumerate()函数
enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用于for循环中。返回enumerate(枚举)对象

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 小标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

普通的for循环

>>>i = 0
>>> seq = ['one', 'two', 'three']
>>> for element in seq:
...     print i, seq[i]
...     i +=1
... 
0 one
1 two
2 three

在for循环中使用enumerate

>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
...     print i, element
... 
0 one
1 two
2 three

字典的特性:
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
1、不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个值会被记住。

>>>dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
>>>dict['Name']
Manni

2、键必须不可变,可以用数字,字符串或元组充当,但是用列表就不行

>>>dict = {['Name']: 'Zara', 'Age': 7}
Traceback (most recent call last):
  File "test.py", line 3, in <module>
    dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable

字典的内置函数
1、len(dict)计算字典元素的个数,即键的总数
2、str(dict)输出字典可打印的字符串表示
3、type(dict)返回输入的变量类型,如果变量是字典就返回字典类型
字典的内置方法
1、dict.clear()清空字典,操作后字典为空字典
2、dict.copy()返回一个字典的浅拷贝
3、dict.keys()以列表形式返回一个字典的所有键
4、dict.values()以列表形式返回字典中的所有值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值