码迷,mamicode.com
首页 > 编程语言 > 详细

python0.7-----元组和字典

时间:2018-06-17 19:52:09      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:lse   方法   最大   16px   覆盖   报错   字典元素   dex   没有   

元组:不可变的列表

优点:安全,对于数据的定义,能用元组就用元组,因为它不可变。

 

创建空的元组:

tuple1=()

创建带有不同类型元素的元组:

tuple2=(1,1.1,’good’,true,None,(1,2,3),[1,2,3,4],{1:2,3:4})

创建只有一个元素的元祖

tuple3=(1,)    记住:一定要叫上这个逗号,不然系统会认为tuple3是整数类型

 

增:

无,因为元组不可变

删:

del tuple3

改:

元组元素是不能被修改的,但若元组的元素是列表或者字典,由于这两种类型存在元组里面的是地址,因此只要不改变放在元组里面的列表或者字典的地址,而改变里列表或者字典的元素,对于元组列说,其元素是没有修改的。因此,对于元组的列表元素或者字典元素,是可以修改的。

记住:只能修改列表的元素。如果修改整个列表,列表的引用就会发生变化,那么元组里面的列表地址就会发生变化,就会发生错误。

例如:

list1=[123,123,111]

print(id(list1))

list1[0]=1  #只修改列表元素,列表的地址没有发生改变

print(id(list1))

list1=[11,11] #这是在修改列表的引用,会开辟新的内存空间,引用的列表地址会发生变化

print(id(list1))

查:

格式:元组名[下标]  

记住:下标不可以越界

下标可以是负数:例如:元组tuple3的长度为5,那么tuple3[-1]表示最后一个元素,tuple[-2]表示倒数第二个,tuple[-5]表示第一个元素

例如:tuple2[4] 查得None

 

对元组的操作:

例如:

t1=(1,2,3)

t2=(4,5,6)

元组的连接:t1+t3  得到一个元组:(2,2,3,4,5,6)

元组的重复:t1*3   得到一个元组:(1,2,3,1,2,3,1,2,3)

判断元素是否在元组中:  元素1 in 元组名1  若元素1存在于元组1,则返回True,否则返回False

元组的截取:

格式:元组名[[start]:[end]] :截取元组下标[start,end)里面的子元组

 

二维元组:

t1=((1,2),(3,4),(5,6),(7,8))  访问t1[下标][下标]

 

元组的方法:

len(元组名):返回元组中元素的个数

max(元组名):返回元组中的最大值

min(元组名):返回元组中的最小值

tuple(列表名):将列表转化为元组

 

 

字典:

概述:使用键值(key-value)存储,具有极快的查找和插入和删除速度。不像列表,列表的元素越多,查找速度就越慢,而字典跟元素的数量无关。但是字典相比较列表,字典要多消耗内存存储key。字典是无序的,不能用下标查找,例如dict[index]就是错误的访问方法。

字典的形式:

dict1={key1:value1,key2:value2}

key的特性:

一:字典中的key必须唯一。

二:key必须是不可变的对象。例如字符串,整数可作为key。list可变,不能作为key。

增,改:

dict1[key]=value :在dict1中添加key:value,如果key存在,则覆盖原来存在的key-value,其实就是修改key对应的value的值。

删:

dict1.pop(key):删除key对应的key-value。

查:

格式: 字典名[key]

当key不存在时,这种方式的访问就会报错。

dict1.get(key)也是访问字典dict1的key对应的value,但是如果key不存在,返回None。

 

dict1.value():返回一个列表,列表的内容为所有的value值。

dict1.items():将字典转变成为列表,列表的元素是元组,元组的形式为:(key,value)。

遍历字典:

一:遍历key

for key in dict1:

  print(key,dict[key])

二:遍历value

for value in dict1.value():

  print(value)

三:遍历key-value

for key,value in dict1.items():

  print(key,value)

 

enumerate(dict1):把key-value的key用数字代替。改变成:0:value1,1:value2,....,n:valuen的形式

enumerate(list1):从0开始在每个list1元素前面加上一个数字。

python0.7-----元组和字典

标签:lse   方法   最大   16px   覆盖   报错   字典元素   dex   没有   

原文地址:https://www.cnblogs.com/yulianggo/p/9193450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!