python 字典
本章:我们主要学习字典的操作符、定义、内建函数、内建方法、字典的键
1.映射类型
首先,我们来看一个字典的典型例子:mydic={‘zhao‘:1,‘qian‘:2,‘sun‘:3,‘li‘:4}
字典是一个hash表,其中有键值和对应的value,字典的好处就是hash查找迅速,可以实现按键索引。
1)创建与赋值:
符号:mydic={‘zhao‘:123}工厂方法dict:zhao=dict(([‘x‘,1],[‘y‘,2]))
内建方法fromkeys:mydic={}.fromkeys(("x","y"),-1)
| dict() -> new empty dictionary
| dict(mapping) -> new dictionary initialized from a mapping object‘s
| (key, value) pairs
| dict(iterable) -> new dictionary initialized as if via:
| d = {}
| for k, v in iterable:
| d[k] = v
| dict(**kwargs) -> new dictionary initialized with the name=value pairs
| in the keyword argument list. For example: dict(one=1, two=2)
例子:
>>> zip(one,two)
[(‘ali‘, 1), (‘huang‘, 2), (‘li‘, 3), (‘wali‘, 4)]
>>> three=zip(one,two)
>>> dict(three)
{‘li‘: 3, ‘wali‘: 4, ‘huang‘: 2, ‘ali‘: 1}
注意:dict能接受多种参数:空、iterable、**kwargs等
2)访问字典中的值:
方法keys();for key in mydic.keys():
print ‘keys=%s,values=%s‘ % (key,mydic[key])
迭代器:
for key in mydic:
print ‘keys=%s,values=%s‘ % (key,mydic[key])
3)更新字典
键值模式:mydic[add]="wang"内建方法:mydic.update(anotherdic)
4)删除字典元素和字典
删除字典:del mydic删除元素:del mydic[‘zhao‘]
2.映射类型操作符
首先,映射类型不支持拼接,序列类型可以。1)比较操作符:> < =
比较顺序——字典的大小、键、值
2)查找操作符[]
3)成员关系操作符:in,not in
3.映射类型的工厂函数和内建函数
1)标准类型函数
type、str、cmp
2)映射类型相关函数
dict、len、hash3)映射类型内建方法
keys(),values(),items(),sorted()Note:sorted(mydic) not mydic.sorted()
get():similar to [],but can accept keys that donot exist.
Note:keys(),values,items return value is seq, which is hard to handle when the seq is very large,so we use iteritems(),itervalues(),iteritems() for instead.
注意:sort并不是字典的方法,而是列表的方法:mydic.keys().sort()实际上是调用了列表的内建函数;
现在,我们拥有一个针对迭代子的内建函数,sorted(),将对字典的键进行sort,然后返回一个列表
4.字典的健
4.1不允许一个键对应多个值
如果存在冲突,那么将执行最近赋值原则>>> mydic={‘huang‘:11,‘huang‘:11.5}
>>> mydic
{‘huang‘: 11.5}
4.2键必须是可hash的
所有不可变的类型都是可hash的,因此都可以作为字典的键.另外,相同的数字表示相同的键,比如1和1.0.郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。