您的位置:首页 > 编程语言 > Python开发

python入门(5)

2015-12-03 00:51 555 查看
关于Dict和Set类型

首先了解下什么事dict ,我们都知道 ,list 和 tuple可以用来表示顺序集合,例如:

["lixi","wangli","rial"] or [ 1 ,2,3]

如果用list 把它们关联起来不是很方便,lixi--->1 ,wang --->2,rial---->3 要达到这样要考虑使用dict 字典,

value = {key1,val1,key2,val2}

dict 就是通过key 来查找value

花括号{}表示这是一个dict ,可以根据key: value 这个格式填写。

由于dict 是集合,len() 函数可以计算任意集合的大小

n ={a:1,b:2,c:3}

len(n)

>>>3

#访问dict

根据已有的对应关系,如果取出对应的值那?

注意:list 是用索引返回对应的元素,而dict使用key,以存在的值会去到对应的值,如果没有key 就会出现错误 ,keyerror

n["a"]

>>>1

有时也会判读一个key值是否在dict中,可以这样来判断

if "a" in n:

print("true")

else:

print("false")

如果存在就会打印 true 否则 false

同时dict 也提供get 方法, 在key不存在的时候,返回none : print(n.get(z)) --->none

既然要接触到dict ,那的说说它的特点:

dict 的第一个特点是查找速度快,无论dict 有22个元素还是22w个元素,查找速度都是一样的,而list 的查找速度随着元素增加而逐渐的下降。

dict的缺点时占用内存大,还会浪费很多内容,list 正好相反,占用内存小,但是查找速度慢。由于dict 是按照key查找,所以,在一个dict中,key不能重复。

dict 的第二个特点就是存储的key --value 序对是没有顺序的,而list 不一样。 dict 是无序的 ,list 有序的

#dict 第三个特点 作为key 的元素必须不可变,list 是可变的,就不能作为key .

如果向dict 中添加新的值 可以这样 : n['liubei']="value"

如何遍历dict ???

for key in n:

print key

什么是set ???

dict 的作用时建立一组key 和一组value的映射关系,dict的key是不能重复的。

set 是无序的 ,传入一个list

set([a,b,c]) ===> [a,c,b //是无序的。

set(a,b,c,c)]====>[b,a,c] // set不能包括重复的元素, 是无序的。 访问set -->set是无序集合,所以没发通过索引来访问,我们key通过 判断是否在

set 的特点 ::

set 的内部结构根dict 很像,唯一区别是在存储value ,因此判读一个元素是否在set 中速度是很快的。

set 存储元素是没有 序的。

set 如何去遍历

for n in s: //s是dict

print name

更新set

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

set.add(4)

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

set.remove(4) //删除4
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: