首页 > 代码库 > dict 、set 详解

dict 、set 详解

创建个子字典 用大括号 {}
字典是包括 key 和value

d = {
‘Adam‘: 95,
‘Lisa‘: 85,
‘Bart‘: 59
}
print ‘Adam:‘,d.get(‘Adam‘)
print ‘Lisa:‘,d.get(‘Lisa‘)
print ‘Bart:‘,d.get(‘Bart‘)

.get 是在查询字典时,如果查询的key不存在,值返回None,防止查询的key不存在而报错。

往字典中添加数据时使用 dict[key]=value;去创建 

d = {
95: ‘Adam‘,
85: ‘Lisa‘,
59: ‘Bart‘
}


d[72]=‘Paul‘

1、字典是查找数据速度快,但是占用内存大;list正好相反,占用内存小,查找速度慢;字典的查找是用过key来查找的,所有dict的key不能重复,内容也是无序的;字典中可以再存放字典、list、str

2、字典的key 元素必须是不可以变化的,因为查找是通过key来查找;python 的基础数据类型如 字符串、整型、浮点型 都是不可变的,都可以做key,list是可变的不能作为key来使用;tuple 是不可以变化的,也可以作为dict的key

3、for 循环可以遍历list,同样也可以遍历dict;for 遍历dict的key,可以根据遍历的key,查找出对应value;

d = {
‘Adam‘: 95,
‘Lisa‘: 85,
‘Bart‘: 59
}
for i in d :
print i ,‘:‘,d[i]

4、set ;什么是set ,set类似于dict的key;set是持有一系列元素,元素中没有重复,而且也是无序的

创建set的方式是调用set()函数并传入一个list,list的元素将做为set的元素

setpr=set([‘a‘,‘b‘,‘c‘])

print setpr

5、set 是不包含重复元素;当有重复元素时候,可使用set去掉list中的重复元素

6、set的内部结构和dict很像,但是set不存储value,因此判断一个元素是否存在在set中速度很快

7、set 也是可以for 遍历

s = set([(‘Adam‘, 95), (‘Lisa‘, 85), (‘Bart‘, 59)])
for x in s:
print x[0],‘:‘,x[1]

8、set 中添加、删除 元素 

set 的add()方法;如果set中存在元素,不会报错,也不会添加进去

s=set([1,2,3])

s.add(4)

print s

set 的removre()方法

s=set([1,2,3,4])

s.remove(4)

s = set([‘Adam‘, ‘Lisa‘, ‘Paul‘])
L = [‘Adam‘, ‘Lisa‘, ‘Bart‘, ‘Paul‘]
for i in L:
if i in s :
s.remove(i)

else:
s.add(i)
print s

 

dict 、set 详解