010、011、012讲列表:一个打了激素的数组
课堂笔记:
0.Python中不直接定义元素的类型,所以列表中的元素可以是混合的类型
1.向列表中添加元素:
列表名.append(添加的元素)
列表名.extend([元素1,元素2]),以列表的形式追加新元素到原列表,一次可添加多个元素
列表名.insert(a,b)a表示追加于原a位置前(注意起始位为0),b表示被插入的元素
insert()与append()方法每次只能添加一个元素,append()与extend()方法,被添加的元素自动添加到列表末尾。
2.两个元素互换: (1).添加中间值 (2).直接互换a,b = b,a
3.从列表删除元素
member.remove(元素名称)
del member[索引值]
特别的,删除整个列表:del member
member.pop()取出列表中最末尾的值
member.pop(索引值)取出列表中该索引值所对应的值
4.列表分片(slice)
member[1:3]原列表member中索引值1~3的元素(不包括3)组成新的列表
member[1:]索引值从1开始到最后一个元素
member[:3]原列表member中索引值0~3的元素(不包括3)组成新的列表
member[:]原列表所有元素,member2 = member[:]完成列表的拷贝
在进行分片的时候,我们知道分片的开始和结束位置需要进行指定,可以设置:步长
但步长可以是负数,改变方向(从尾部开始向左走)
5.请问 list1[0] 和 list1[0:1]一样吗?
不一样,list1[0] 返回第0个元素的值,list1[0:1] 返回一个只含有第0个元素的列表。
6.从列表的末尾取出一个元素,并将这个元素插入到列表的最前边
list1.insert(0,list1.pop())
7 .list2= list1[:]与 list2 = list1 的区别
list2 = list1相当于将list1又贴了list2这一标签,list1发生变化时,list2自然会随之变化;而list2= list1[:]相当于产生了新的列表list2,list1发生变化时,list2不会改变。
8.但索引的值为负数时,表示倒数第几位
9.拼接 (最好不用+ )append insert extend
10.dir(list)查看列表功能
11.list.count('元素')计算该元素个数
12.list.index('元素')索引出现该元素的第一个位置的索引号
list.index('元素',a,b)索引在ab范围内出现该元素的第一个位置的索引号
13.list.reverse()翻转列表 list.sort()按照从小到大顺序对列表排序
list.sort(reverse=Ture)从大到小
14.列表推导式(List comprehensions)也叫列表解析
动动手:
方法一:
member = ['小甲鱼',88,'黑夜',90,'迷途',85,'怡静',90,'秋舞斜阳',88]
count =0
length = len(member)
while count < length:
print(member[count], member[count+1])
count +=2
方法二:
member = ['小甲鱼',88,'黑夜',90,'迷途',85,'怡静',90,'秋舞斜阳',88]
for i in range(len(member)):
if i%2==0:
print(member[i], member[i+1])
1 .list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
用列表推导式还原出来
list1=[]
for x in range(10):
for y in range(10):
if x%2==0:
if y%2==0:
list1.append((x,y))