通用操作
“+” 可以将2个列表拼接成一个列表
可以将列表指定重复的次数
in 和 not in
in #用来检测指定的元素是否在列表中 如果 在 返回True 如果 不在 返回False
not in #用来检测指定的元素是否不存在列表中 如果 不在 返回True 如果 在 返回False
min()获取列表中的最小值
max()获取列表中的最大值
自我学习的方法,可以利用自带的离线包去自我学习(有中文版)。
lst.index() 获取指定元素在列表中的位置
还可以用区间限定范围,第二个参数表示起始位置,第三个参数表示是结束的位置。
s.count()统计指定元素在列表中出现的次数
修改列表
修改列表
heros = [1,2,3,4,5,6]
heros[0] = "11".
print(heros)
通过del来删除元素
heros = [1,2,3,4,5,6]
del heros[2]
print("修改后",heros)
通过切片来修改
heros = [1,2,3,4,5,6]
heros[0:2] = [9,8,7]#大于
print("修改后",heros) #结果:修改后 [9, 8, 7, 3, 4, 5, 6]
heros = [1,2,3,4,5,6]
heros[0:2] = [9,8] #大于
print("修改后",heros)
结果:修改后 [9, 8, 7, 6, 3, 4, 5, 6]
heros = [1,2,3,4,5,6]
heros[0:2] = [9,8] #小于
print("修改后",heros)
结果:修改后 [9, 8, 3, 4, 5, 6]
记忆总结:不管大于还是小于,被替换部分变成新的元素,不管新元素多少个。
切片特性:如果替换的元素大于原有的元素,多余的元素会一次往后顺延(覆盖);如果替换的元素小于原有的元素,原有被切片变成替换的元素(替换)。
heros[::2] = "12"
print("修改后",heros) 提示:当设置了步长,序列中的元素的个数必须和你切片的个数保持一致。
通过切片来删除元素
第一种
del heros[1:3]
第二种
heros[1:3] = []
不可变序列
s = "python"
s[1] = "j" #不能替换
可以变成可变序列
s = "python"
s = list(s) 解释:会变成这个形式的结果['p', 'h', 't', 'h', 'o', 'n']
s[1] = "j" #能替换
列表的方法
以下为列表方法:
i = [1,2,3]
i[0:0] = [6]替换
append()
heros.append(66) —>#向列表的最后
添加****一个
元素,append()无返回值。
i1 = i.append('66') 因为append无返回值,所以结果呈现为 None
insert()
heros.insert(2,88) —>#向列表
指定位置插入
一个元素,参数1:要插入的位置;参数2:要插入的元素
i = [1,2,3,4]
i.insert(2,88)
print(i) #结果:[1, 2, 88, 3, 4]
extend()
extend() —>#可以扩展当前的序列,需要一个序列最为参数,它会将该序列中的元素他点击到当前表中。
heros.extend([33,44]) #向列表后添加**多个元素**
i = ['我','你','他']
# i1 = i.append("哈哈") #没有中括号
i.extend(['哈哈','h呵呵']) #需要中括号
print(i) #结果:['我', '你', '他', '哈哈', 'h呵呵']
clear()
clear()清空列表
heros.clear()
pop()
lst.pop()根据索引删除并返回删除的元素,不传递索引值默认删除最后一个
i = lst.pop() #有返回值,结果为最后一个删除的元素
remove()
remove()根据指定值来删除元素,没有返回值(None)。
i = [1,2,3,4]
i.remove(3)
print(i)#结果[1, 2, 4]
revers()
revers()翻转列表的 #
lst = list('alskdjfoieurnaslhkndglasjk')
lst.reverse()
print(lst)
#结果为:['k', 'j', 's', 'a', 'l', 'g', 'd', 'n', 'k', 'h', 'l', 's', 'a', 'n', 'r', 'u', 'e', 'i', 'o', 'f', 'j', 'd', 'k', 's', 'l', 'a']
sort()
sort() 用来对列表中的元素进行排序
lst = list("abdcglaksdjalsjdf")
lst.sort()
print(lst)
#结果为:['a', 'a', 'a', 'b', 'c', 'd', 'd', 'd', 'f', 'g', 'j', 'j', 'k', 'l', 'l', 's', 's']
lst.sort() #默认升序,reverse=True #reverse翻转列表,可以变成降序。
lst = list("abdcglaksdjalsjdf")
lst.sort(reverse=True)
print(lst)
# 结果:['s', 's', 'l', 'l', 'k', 'j', 'j', 'g', 'f', 'd', 'd', 'd', 'c', 'b', 'a', 'a', 'a']
遍历列表
for
语法:
for 变量 in 序列(遍历的规则):
代码块
for h in range(1,3):
print(h) # 结果:1,2
range
range(开始,结束,步长)
print(range(5)
print(range(0:5)
print(range(0:5:1)
#以上3个表达同一个结果 [0,1,2,3,4]
配合for循环非常方便的来执行循环的次数range()中传递几 就循环几次(结论熟记)
for i in range(5):
print('hello world')# 打印5次
range()函数配合for循环的使用非常的灵活
lst = [1,2,3,4,5,6,7,8,9]
for i in range(0,9,2)
print(lst[i])#查找第1,3,5……数据
作业:
1、课堂所讲的知识点写文章(以自己的方式去梳理)
2、课堂代码敲3遍
3 课堂作业
①、给 用户9次机会 猜1 - 10 个数字随机来猜数字。如果随机的数字和用户输入的数字一致则表示正确,如果不一致则表示错误。最终结果要求用户怎么也猜不对
②、有两个列表 lst1 = [11, 22, 33] lst2 = [22, 33, 44]获取内容相同的元素
作业3.1:
a = list(range(1,11))
for i in range(1,10):
b = int(input('一共有10次机会猜数,还有%d次机会请输入一个1-10数字'%(10-i)))
if b not in a:
print('输入数字不在范围,请重新开始输入,可惜用掉了一次机会')
continue
a.remove(b)
if b in a:
print('恭喜,猜对了')
else:
print('对不起,猜错了')
i += 1
作业3.2:
lst1 = [11,22,33,44,55]
lst2 = [22,33,44,66,55]
for i in range(0,len(lst1)):
a = lst1[i]
if a in lst2:
print('{}\t'.format(a),end='')