python内置字典:dict

dict


dict使用键-值(key-value)存储,具有很快的查找速度。

d = {'Danny':95,'Joy':75,'Bob':85}

输入d['Danny']可得到95.

dict通过给定的名字,在内部找出对应的存放成绩的内存地址,直接取出来,因此速度非常快。

将数据放入dict的方法,除了上述中初始化时指定外,还可以通过key放入:

d['Adam']=67

一个key只能对应一个value,当多次对一个key放入value时,后面的值会把前面的值冲掉。

key不存在时,dict会报错,避免错误的方法:

1.通过 in 判断key是否存在,False/True

'Thomas' in d

2.通过 get() ,若key不存在,会不返回数值,或自己指定的value

d.get('Thomas')
d.get('Thomas',-1)

删除一个key,用pop(key),此时对应的value也会被删除。

dict查找与插入的速度极快,但占用内存多,浪费大。

list查找和插入的时间随元素增加而增加,但占用空间小,浪费内存少

dict 的 key 是不可变对象!

set


set也是一组key的集合,但不存储value,由于key唯一,因此set中没有重复的key

要创建一个set,需要提供一个list作为输入集合:

s=set([1,2,3])
print(s)
{1,2,3}

[1,2,3]是一个list,而{1,2,3}表示s内部有1,2,3这三个元素。但不表示set是有序的。

重复元素在set中被自动过滤:

s=set([1,1,2,2,3,3])
print(s)
{1,2,3}

通过add(key)可以将元素key添加到set中,可以重复添加,但不会对set有影响。

通过remove(key)可以将元素key从set中删除。

set可以看成是数学上无序和无重复元素的集合。因此,set可以做交集、并集等操作:

s1 = set([1,2,3])
s2 = set([2,3,4])
s1 & s2 = {2,3}
s1 | s2 = {1,2,3,4}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章