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
首先了解下什么事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
相关文章推荐
- python-43:两个重要的问题
- Python 寻找相近的用户
- python加入自定义库/模块路径
- python扩展包安装更新
- python第五课
- Python核心数据类型(内置对象)—— 元组(tuple)
- 人脸验证算法Joint Bayesian详解及实现(Python版)
- Python建立SSH连接与使用方法
- Python下载网页图片
- python list 列表中可以用的swap方法
- python 11期 第一天
- python显示中文
- Python爬虫教程——新浪微博登陆
- 用python写一个命令行有道翻译
- python写一个日志查询工具(登录ftp服务器得到日志并分析)
- python 11期 第五天
- Kuryr项目简介
- IronPython+Anthem.Net也玩 Ajax!
- IronPython 个人网站样例----宝藏挖掘
- IronPython 源码剖析系列(2):IronPython 引擎的运作流程