Tuple(元祖)
- tuple与list类似,不同之处在于tuple的元素不能修改。tuple写在小括号里,元素之间用逗号隔开。
- 元祖的元素不可变,但可以包含可变对象,如list。
注意:定义一个只有1个元素的tuple,必须加逗号。
tup1 = () #创建空的元祖
print(type(tup1))
#tup2 = (50) #<class 'int'>
#tup2 = (50,)
tup2 = (50,60.70)
print(type(tup2))
运行结果
tup1 = ('abc','def',2000,2020,333,444,555,666)
print(tup1[0])
print(tup1[-1]) #访问最后一个元素
print(tup1[1:5]) #左闭右开,进行切片
运行结果
#增 (连接)
tup1 = (12,34,56)
tup2 = ('abc','xyz')
tup = tup1 + tup2
print(tup)
#删
tup1 = (12,34,56)
print(tup1)
del tup1 #删除了整个元组变量
print('删除后:')
print(tup1)
#改 不能改
tup1 = (12,34,56)
tup1[0] = 100 #报错,不允许修改
运行结果
增
删
dict(字典)
- 字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度。
- 键(key)必须使用不可变类型。
- 同一个字典中,键(key)必须是唯一的。
#字典的定义
info = {'name':'吴彦祖','age':18}
#字典的访问
print(info['name'])
print(info['age'])
#访问了不存在的键
#print(info['gender']) #直接访问,会报错
#print(info.get('gender')) #使用get方法,没有找到对应的键,默认返回:None
print(info.get('age','20'))
print(info.get('gender','m')) #没有找到的时候,可以设定默认值
运行结果
#增
info = {'name':'吴彦祖','age':18}
newID = input('请输入新的学号')
info['id'] = newID
print(info['id'])
运行结果
#删
#[del]
info = {'name':'吴彦祖','age':18}
print('删除前:%s'%info['name'])
del info['name']
print('删除后:%s'%info['name']) #删除了指定键值对后,再次访问会报错
运行结果
info = {'name':'吴彦祖','age':18}
print('删除前:%s'%info)
del info
print('删除后:%s'%info['name'])
运行结果
#[clear]
info = {'name':'吴彦祖','age':18}
print('删除前:%s'%info)
info.clear()
print('清空后:%s'%info)
运行结果
#改
info = {'name':'吴彦祖','age':18}
info['age'] = 20
print(info['age'])
运行结果
#查
info = {'id':1,'name':'吴彦祖','age':18}
print(info.keys()) #得到所有的键(列表)
print(info.values()) #得到所有的值(列表)
print(info.items()) #得到所有的项(列表),每个键值对是一个元组
运行结果
#遍历所有的键
for key in info.keys():
print(key)
#遍历所有的值
for value in info.values():
print(value)
#遍历所有的键值对
for key,value in info.items():
print('key=%s,value=%s'%(key,value))
运行键和值结果
运行键值对结果
#使用枚举函数,同时拿到列表中的下标和元素内容
mylist = ['a','b','c','d']
for i,x in enumerate(mylist):
print(i,x)
#使用枚举函数,同时拿到列表中的下标和元素内容
mylist = ['a','b','c','d']
for i,x in enumerate(mylist):
print(i+1,x)
小结