文章目录
list tuple dict
序列:
列表,序列:可以修改
元组:不能修
字典:key-value对
序列
创建列表和元组
区别:列表用方括号,元组用圆括号
可以存放不同元素
[e1, e2, e3]
(e, e2, e3)
查找元素
方括号:
a[0]
b[-1]#最后一个元素
子序列
[0:2:2]#返回第零个
[0:3:2]#返回第0,2个
加法
列表和列表相加,元组和元组相加
结果是把后面的加在前面的元组的后面,得到一个新元组/列表
乘法
数乘:在原来的序列后面添加新的元素
in运算
1.2 in b_list #返回true或false
长度、最大值、最小值
len(a)
max(a)
min(a)
#
序列封包和序列解包
序列封包:多个变量赋给一个变量,自动封装成元组
序列解包:一个序列赋给多个变量,自动拆装
val = 10, 20, 30
a,b,c = val;
3、使用列表
列表可以改变,认为是增强版的元组
创建列表
list()
可以把元组,区间转换成列表
tuple(
)可以把列表,区间转换成元组
a_tumple = ('abc', 12, 3.3)
a_list = list(a_tumple)
b_list = list(range(1,5);#[1,2,3,4]
c_list = list(range(1,5,2)#[1,3]
增加列表元素
append()
用于在列表最后增加:单个元素;元素可以是普通的元素,也可以是列表、元组。
会形成嵌套
enxtend()
用于在列表最后添加:单个或多个元素;当添加列表或元组时,以此加在后面
insert()
可以在中间插入元素:和append类似,当成整体插入,可能会形成嵌套
c_list = list(range(1,9,2))
print(c_list) #[1, 3, 5, 7]
c_list.insert(3,'abc')
print(c_list) #[1, 3, 5, 'abc', 7]
删除:
del
删除列表的元素,也可以删除变量
remove(ele)
查找并删除第一个ele,找不到会报错
clear()
清空列表
del b_list[0:4:2]#删除第0,2个元素
c_list.clear()
d_list.remove(30)
修改
对元素重新赋值就是修改
a_list = [1,2,3,4,5,6,7]
a_list[1] = '2'
a_list[-1]= '7'
a_list[0:3]= ['no','yes']#对四个元素赋两个值,会缩短列表长度
不能使用单个值赋给slice,如果用字符串赋值给slice,会自动切割成字母的列表
a_list[0:2] = 'abcdefg'
list的其他方法
count():计算某个元素出现的次数
index():判断元素的索引
pop():出栈并返回该元素
append()方法可以当作入栈使用
reverse():反向存储
sort():排序,可以有两个关键字参数
a_list.sort(key = len, reverse=true)#按长短排序,不能包含数字,数字没有长度
字典
创建:
score = {'语文' : 65, '数学' :100}
emptydic = {}
dict2 = {(20,30): 'good', 30:'bad'}
key:可以是元组,不能是列表,同一个字典内key的类型可以不同
- 通过dict()方法创建
lista = [('a','b'),(100,93)]
dicta = dict(lista)
- dict()方法指定参数,不用引号
dicta = dict(math = 96, English = 99)
通过key访问value,添加、删除、修改键值对,判断键值对是否存在
scores={}#空
scores['语文']=99#增
scores['语文']#访问
scores['语文'] = 98#改
del scores['语文']#删除
'语文' in scores #True # 判断
方法
方法可以通过dir(dict)
查到
'clear',空
'copy',
'fromkeys',
'get',直接访问可能找不到报错,get方法找不到返回none
'pop',获取并删除,返回值
'popitem',随机pop,返回键值
k, v = cars.popitem()
'setdefault',获取key,没有则返回默认值
cars.setdefalut('math',60)
'update',添加或修改元素
adict.update({'math':99, 'English' :88})
'values'
'items',
'keys',这三个方法返回对象
ims = cars.items()
listc = list(ims)
格式化字符串:变量多时用字典
cores ={"语文":100, "数学":90}#键好像只能说字符串
temp = "成绩位,语文:%(语文)s, 数学:%(数学)s"
print(temp % scores)
print("成绩位,语文:%s, 数学:%s" % (100,90))