python 基础数据类型-字典dict
如何定义字典
字典也是一种集合,同时也是无序的。
与集合相同,用{},与集合不同,dict是key value格式的。
一般字典的定义>>> type({"a":1,"b":2,"c":3}) <class ‘dict‘>定义一个空字典 >>> type({}) <class ‘dict‘>
字典的key 不能重复,相同的key 不同的value,后面的新value 覆盖前面的旧value
>>> {"a":1,"b":2,"c":3,"a":1} {‘a‘: 1, ‘b‘: 2, ‘c‘: 3} >>> >>> {"a":1,"b":2,"c":3,"a":2} {‘a‘: 2, ‘b‘: 2, ‘c‘: 3} >>> >>> {"a":1,"b":2,"c":3,"d":1} {‘a‘: 1, ‘b‘: 2, ‘c‘: 3, ‘d‘: 1}
字典的key可以是str 也可以是 int 。但是key 必须是不可变的类型,比如int string ,tuple,但是list这种就是可变的类型(
1、可变不可变之后搞清楚
2、为啥tuple 是不可变的,list 是可变的呢?)
>>> {3:1,2:2,1:3,1:0.5}[3] 1
int 的key和string 的key 是2个key
>>> {3:1,2:2,1:3,"3":0.5}["3"] 0.5 >>> {3:1,2:2,1:3,"3":0.5}[3] 1
>>> {(1,3):1,2:2,1:3,"3":0.5}["3"] 0.5 >>> {[1,3]:1,2:2,1:3,"3":0.5}["3"] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: ‘list‘
为啥tuple 是不可变的,list 是可变的呢?
如何去访问字典?不是序列,所以肯定也不能用切片,下标的方式访问,再说了,如果都可以用切片,下标访问的话,那字典的key 意义又何在?
用key 去访问字典>>> {"a":1,"b":2,"c":3,"a":0.5}["a"] 0.5访问不存在的,报出语法错误 >>> {"a":1,"b":2,"c":3,"a":0.5}["3"] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: ‘3‘
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16