1、元组
(1)元组是不可变的列表,能存多个值;如果多个值只有取得需求,没有改的需求,用元组最合理
(2)定义:在()内用逗号隔开,可以存任意类型的值
注意:当元组只有一个元素时,要在后面加逗号
# x=('egon',)
# print(type(x))
(3)、常用操作+ 内置方法
1、按索引取值,正向+反向取值
2、切片(顾头不顾尾,步长)
# names=('alex','egon','wxx','lxx','cxxx')
# print(names[1:3]
3、长度
names=('alex','egon','wxx','lxx','cxxx')
# print(len(names))
4、成员运算in和not in
# names=('alex','egon','wxx','lxx','cxxx')
# print('alex' in names)
5、循环
# names=('alex','egon','wxx','lxx','cxxx')
# for item in names:
# print(item)
6、基本方法
names=('alex','egon','wxx','lxx','cxxx','lxx')
# del names[0] 删除
# print(names.count('lxx')) 查某个元素的次数
# print(names.index('wxx',0,3)) 在规定范围内查某个元素的 索引
列表可变的底层原理:
#指的是索引所对应的值的内存地址是可以改变的
# 元组不可变的底层原理:
#指的是索引所对应的值的内存地址是不可以改变的
#或者反过来说,只要索引对应值的内存地址没有改变,那么元组始终是没有改变的
2、字典
(1)用途:用来存多个值,但每一个值都有一个key与之对应,key对值有描述性的功能
当存储多个值表示的不同的状态时,
(2)定义方式:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式
value可以是任意数据类型,但是key必须为不可变类型,key通常应该是字符串类型,
(3)、通过key 存取相对应的值
dic={1:'a',0:'b',1.1:'c',(1,2,3):'d'}
# print(dic[1]) 取值
# print(dic[0])
# print(dic[1.1])
d={'x':1,'y':2} 通过key 改值
d['x']=100
print(d)
d={'x':1,'y':2} 加值
d['z']=3
print(d)
(4)长度len
d={'x':1,'y':2}
print(len(d))
(5)
#3、成员运算in和not in
# d={'x':1,'y':2}
# print('x' in d)
(6)删除
d={'x':1,'y':2}
# del d['x']
# print(d) 直接删除
# res=d.pop('y') 删除后有返回值
# print(d)
# print(res)
(7)
键keys(),值values(),键值对items()
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
names=[]
for k in msg_dic:
names.append(k)
print(names)
values=[]
for k in msg_dic:
values.append(msg_dic[k])
print(values)
(8)、循环
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
# 只取key
# for k in msg_dic:
# print(k,msg_dic[k])
# for k in msg_dic.keys():
# print(k,msg_dic[k])
# 只取value
# for v in msg_dic.values():
# print(v)
#取key和value
# for k,v in msg_dic.items(): #k,v=('apple', 10)
# print(k,v)
(9)字典内置方法
d={'x':1,'y':2,'z':3} get 方法,如果key 值存在,可以找出所对应的Value ,key值不存在,返回None
v=d.get('y')
print(v)
旧字典d={'x':1,'y':2,'z':3} update 方法 用d1更新d (用一个新字典更新旧字典),原字典没有的把新字典的加进去,原字典有的,新字典覆盖
新字典d1={'a':1,'x':1111111}
d.update(d1)
print(d)
d = dict.fromkeys(['name','age','sex'],None) 造一个新字典
print(d)
setdefault方法
# info.setdefault
# info={'name':'egon','age':18,'sex':'male'}
# 如果字典中有setdefault指定的key,那么不改该key对应的值,返回原的value
# res=info.setdefault('name','EGON_NB')
# print(info)
# print(res)
# 如果字典中没有setdefault指定的key,那么增加一个key:value,返回新的value
# info.setdefault('height',1.80)
# print(info)
# info={'age':18,'sex':'male'}
# v=info.setdefault('name','浩哥')
# print(v)