python0.7-----元组和字典
Posted 一只鱼鱼鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python0.7-----元组和字典相关的知识,希望对你有一定的参考价值。
元组:不可变的列表
优点:安全,对于数据的定义,能用元组就用元组,因为它不可变。
创建空的元组:
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-----元组和字典的主要内容,如果未能解决你的问题,请参考以下文章