极客编程python入门-字典与SET

时间:2022-11-05 18:57:27


dict


Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度


d = {'python':7,"java":234,'go':3,123:567}

print(d)

print(d['python'])
print(d["java"])
print(d[123])


极客编程python入门-字典与SET


由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:


d['python'] = 14
d = d['python']

print(d)


极客编程python入门-字典与SET


要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:


d = {'python':7,"java":234,'go':3,123:567}

i = "python" in d
print(i)


二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:


i = d.get('python')
print(i)


极客编程python入门-字典与SET


和list比较,dict有以下几个特点:


1、查找和插入的速度极快,不会随着key的增加而变慢;

2、需要占用大量的内存,内存浪费多。


而list相反:


1、查找和插入的时间随着元素的增加而增加;

2、占用空间小,浪费内存很少。


所以,dict是用空间来换取时间的一种方法。


SET


set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

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


s = set([1,2,2,2,2,234,2,2,2,3,4,5,6,7,8,9,89,23,23,'python',23,2,3,23,2,3,2,3,'java','go'])

print(s)


效果如下


极客编程python入门-字典与SET


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


s = set([1,2,2,2,2,234,2,2,2,3,4,5,6,7,8,9,89,23,23,'python',23,2,3,23,2,3,2,3,'java','go'])

print(s)


s1 = s

s2 = set([1,2,3,4,5,6,345,23,45,6,'python','go','java'])


print(s1 & s2)

print(s1 | s2)



极客编程python入门-字典与SET