第十讲:列表,一个打了激素的数组
一、知识点:
0.列表:列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下:
>>> list1 = [1,2,3,4,5]
>>> list2 = ['a','b','c','d']
类型 |
方法 |
说明 |
参数 |
增 |
list.append(obj) |
在列表末尾添加一个新的对象 |
不管这个对象是什么数据类型, append()都会以一个新元素的方式追加至结尾 |
list.extend(seq) |
在列表末尾追加多个值 |
seq以元素列表的形式进行追加, extend()相当于合并两个列表 |
|
list.insert(index, obj) |
将指定对象插入列表的指定位置。 |
index -- 对象obj需要插入的索引位置。 obj -- 要插入列表中的对象。 |
|
删 |
list.pop(obj=list[-1]) |
移除列表中的一个元素, 并且返回该元素的值。 |
不填写参数,默认最后一个元素 pop()方法带返回值 |
del list[index] |
根据index索引删除列表中的一个元素 |
不填写参数,默认最后一个元素 del 不带返回值 |
|
list.remove(obj) |
函数用于移除列表中某个值的第一个匹配项。 |
该方法没有返回值 但是会移除两种中的某个值的第一个匹配项。 |
|
改 |
list[index]=new_obj |
根据索引位置直接赋值即可 |
|
查 |
list[index] |
可以直接根据索引值查询 |
|
list[start:end] |
也可以通过遍历索引的方式查询多值 |
|
|
list.index(obj) |
函数用于从列表中找出某个值第一个匹配项 的索引位置。 |
obj -- 查找的对象。 |
|
max(list) |
返回列表元素中的最大值 |
list -- 要返回最大值的列表 |
|
min(list) |
返回列表元素中的最小值 |
list -- 要返回最小值的列表。 |
|
统计 |
list.count(obj) |
统计某个元素在列表中出现的次数 |
obj -- 列表中统计的对象。 |
len(list) |
统计列表中的元素个数 |
list -- 要计算元素个数的列表。 |
|
排序 |
list.sort([func]) |
函数用于对原列表进行排序 |
func -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 |
list.reverse() |
函数用于反向列表中元素 |
该方法没有返回值, 但是会对列表的元素进行反向排序。 |
|
复制 |
list.copy() |
函数用于复制列表,类似于list_copy[:] |
返回复制后的新列表 |
清空 |
list.clear() |
函数用于清空列表,类似于del list[:] |
该方法没有返回值 |
-------------------------------------------------------------------------------------------------------------------------
二、课后作业:
0.列表都可以存放一些什么东西?
列表可以存放我们学过的任何数据类型,如mix = [1, '小甲鱼', 3.14, [1, 2, 3]]
1.向列表增加元素有哪些方法?
三种方法,分别是append(),extend()和insert()。
2.append() 方法和 extend() 方法都是向列表的末尾增加元素,请问他们有什么区别?
append()是将参数作为一个元素增加到列表的末尾;
extend()是将参数作为一个列表扩展列表的末尾。
3.member.append(['竹林小溪', 'Crazy迷恋']) 和 member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
member.append(['竹林小溪', 'Crazy迷恋']) 是在列表的末尾增加了一个列表,['竹林小溪', 'Crazy迷恋']是作为一个元素存在,member.extend(['竹林小溪', 'Crazy迷恋']) 是在列表的末尾增加了两个元素
4.有列表 name = ['F', 'i', 'h', 'C'],如果小甲鱼想要在元素 'i' 和 'h' 之间插入元素 's',应该使用什么方法来插入?
name.insert(2,'s')
-------------------------------------------------------------------------------------------------------------------------
三、动动手
0.自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?
假设给定以下列表:
member=[‘小甲鱼’,‘黑夜’,‘迷途’,‘怡静’,‘秋舞斜阳’]
要求将列表修改为:
member=[‘小甲鱼’,88,‘黑夜’,90,‘迷途’,85,‘怡静’,90,‘秋舞斜阳’,88]
方法一:使用insert()和append()方法修改列表
方法二:重新创建一个同名字的列表覆盖
方法一:
>>> member=['小甲鱼','黑夜','迷途','怡静','秋舞斜阳']
>>> member.insert(1,88)
>>> member.insert(3,90)
>>> member.insert(5,85)
>>> member.insert(7,90)
>>> member.append(88)
方法二:
member=['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
1.利用for循环打印上班member列表中的每个内容
>>> for i in member:
print(i)
2.上一题打印的样式不是很好,能不能修改以下代码打印成双列的样式?
方法一:
>>> length = len(member)
>>> for i in range(length):
if i%2 == 0:
print(member[i],member[i+1])
方法二:
>>> count = 0
>>> length = len(member)
>>> while count<length:
print(member[count],member[count+1])
count += 2
-------------------------------------------------------------------------------------------------------------------------