一、定义
1、列表由一系列按特定顺序排列的元素组成;
2、用方括号[ ]表示列表,并用逗号分隔其中的元素。
二、属性
1、有序集合;
2、列表是可修改的。
三、操作
1、访问列表元素
- 1)索引
要访问列表元素,可指出列表名称,再指出元素的索引,并将其放在方括号内
body = ['head','eye','ear','mouth']
print(body[0].title())
print(body[3])
- 2)访问列表最后一个元素
不知道列表长度时访问最后的元素,可将索引指定为-1,索引-2返回倒数第二个列表元素,以此类推
body = ['head','eye','ear','mouth']
print(body[-1])
- 3)index —— 在列表中查找第一次出现的索引
colors = ['red','pink','yellow']
print(colors.index('pink'))
2、在列表中添加元素
- 1)append() —— 在列表末尾添加元素
body = ['head','eye','ear','mouth']
body.append('face')
print(body)
- 2) insert() —— 在列表中插入元素
a、在列表任何位置添加新元素,需要指定新元素的索引和值,此操作会将列表中既有的每个元素都右移一个位置;
b、方法insert用于将一个对象插入列表
body = ['head','eye','ear','mouth']
body.insert(0,'face')
print(body)
- 3) extend() —— 同时将多个值插入到列表末尾
可将这些值组成的序列作为参数提供给方法extend。换言之,可使用一个列表来扩充另一个列表
a = [1,2,3]
b = [4,5,6]
a.extend(b)
print(a)
3、从列表中删除元素
- 1) del
a、若知道要删除元素在列表中的位置,可以使用del语句;
b、使用del语句删除后,之后无法再访问该元素
body = ['head','eye','ear','mouth']
del body[3]
print(body)
- 2)pop()
a、方法pop从列表中删除一个元素,并返回这一元素;
b、pop是唯一既修改列表又返回一个非None值的列表方法
c、pop()方法默认删除列表末尾的元素,并且还能继续使用该元素
d、弹出列表中任何位置处的元素–需要知道该元素的索引
body = ['head','eye','ear','mouth']
popped_body = body.pop()
print(body)
print(popped_body)
body = ['head','eye','ear','mouth']
MyLove = body.pop(0)
print(MyLove.title())
- 3)remove()
a、只知道要删除元素的值,不知道值所处的位置,使用remove();
b、remove()从列表中删除元素时,也可以继续使用该元素的值;
c、不同于pop,remove就地修改列表,但不返回任何值;
d、remove()方法只删除第一个指定的值,如果要删除的值在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值
body = ['head','eye','ear','mouth']
body.remove('ear')
print(body)
- 4)clear()
就地情况列表内容,返回一个空列表
body = ['head','eye','ear','mouth']
body.clear()
print(body)
4、修改列表元素
# 可以修改任一列表元素的值,需要指定列表名、要修改元素的索引、再指定该元素的值
body = ['head','eye','ear','mouth']
body[2] = 'face'
print(body)
5、排序
- 1)sort() —— 对列表永久性排序使用sort()方法
方法sort用于对列表就地排序,即对原来的列表进行修改,使其元素按顺序排列,而不是返回排序后的列表的副本
a)按照字母顺序排序
tool = ['ppt','excel','csv','word']
tool.sort()
print(tool)
b)按照与字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数reverse=True
tool = ['ppt','excel','csv','word']
tool.sort(reverse=True)
print(tool)
- 2)sorted()
sorted()可以按特定顺序显示列表元素,但不影响它们在列表中的元素排列顺序
tool = ['ppt','excel','csv','word']
print(sorted(tool))
print(tool)
- 3)reverse()
a、方法reverse按相反的顺序排列列表中的元素;
b、永久性修改列表元素的排列顺序,但随时可以恢复到原来的排序,只需再次调用reverse()
a = [1,2,3]
print(a.reverse())
6、切片[ : ]
1)如没有指定第一个索引,将自动从列表开头开始提取;
2)要让列表终止于列表末尾,类似;
3)负数索引可以输出列表末尾的任何切片
colors = ['red','yellow','white','green','pink']
print(colors[0:3])
print(colors[1:4])
print(colors[:4])
print(colors[2:])
print(colors[-3:])
7、复制列表
- 1)切片[ : ]
可创建一个包含整个列表的切片[ : ],即复制整个列表
my_color = ['red','yellow','white','green','pink']
your_color = my_color[:]
print(my_color)
print(your_color)
- 2)copy
a = [1,2,3]
b = a.copy()
b[1]=4
print(a)
- 3)list()
a = [1,2,3]
print(list(a))
8、遍历列表——for循环
a、for循环中,每行缩进的代码都是循环的一部分,且将针对列表中的每个值都执行一次;
b、for循环后,没有缩进的代码都只执行一次,而不会重复执行
colors = ['red','yellow','white']
for color in colors:
print(color.title()+ ', is beautiful')
print('I love'+' '+color.title())
9、其他列表方法
- 1)count( )——计数
方法count计算指定的元素在列表中出现了多少次
colors = ['red','pink','yellow']
print(colors.count('red'))
- 2)len( )——确定列表长度
tool = ['ppt','excel','csv','word']
print(len(tool))
- 3)range()——创建数字列表
a、range()函数
# 下例range()只打印1~4,从指定是第一个值开始数,并在达到指定的第二个值后停止,输出不包含第二个值
for value in range(1,5):
print(value)
b、使用range()创建数字列表
1)要创建数字列表,可使用函数list()将range()的结果直接转换成列表;
2)如果将range()作为list()的参数,输出将作为一个数字列表;
numbers = list(range(1,6))
print(numbers)
3)使用range()时,还可以指定步长
numbers = list(range(2,11,2))
print(numbers)
4)使用range()几乎能创建任何需要的数字集
# 创建一个列表,其中包含10个整数(即1~10)的平方
squares = []
for value in range(1,11):
squares.append(value**2)
print(squares)
- 4)max()
# 找出数字列表的最大值
digits = [1,2,3,4,5]
print(max(digits))
- 5)sum()
# 找出数字列表的总和
digits = [1,2,3,4,5]
print(sum(digits))
- 6)list()——将序列转化为列表