列表是一种有序的可变容器类型,是日常编程中最常用的类型之一。
一、定义一个列表。常用的列表创建方式有两种:字面量语法与 list()内置函数。
使用[]符号来创建一个列表字面量:
list1 = [1, 2, 3, 4]
使用list()内置函数来创建一个列表:
list2 = list('ha') # ['h','a']
二、访问列表。对于已有列表,我们可以通过索引访问它的成员,索引下标从0开始。
list1 = [1, 2, 3, 4]
print(list1[2]) # 3
也可以通过切片访问一段内容,注意:切片为左闭右开区间。
list1 = [1, 2, 3, 4, 5]
print(list1[1:4]) # [2, 3, 4]
print(list1[1:]) # [2, 3, 4, 5]
print(list1[:4]) # [1, 2, 3, 4]
print(list1[1:-2]) # [2, 3]
print(list1[-2:-1]) # [4]
print(list1[-2:]) # [4, 5]
三、要删除列表中的某些内容,可以直接使用del语句。可以删除列表中单个元素,或者切片删除多个元素
list1 = [1, 2, 3, 4, 5]
del list1[2]
print(list1) # [1, 2, 4, 5]
del list1[1:3]
print(list1) [1, 5]
四、在遍历列表时获取下标。当你使用 for 循环遍历列表时,默认会逐个拿到列表的所有成员。假如你想在遍历的同时,获取当前循环下标,可以选择用内置函数 enumerate()包裏列表对象 :
list1 = [1, 2, 3, 4, 5]
for index, s in enumerate(list1):
print(index, s)
enumerate()接收一个可选的 start 参数,用于指定循环下标的初始值(默认为 0):
list1 = [1, 2, 3, 4, 5]
for index, s in enumerate(list1,10):
print(index, s)
五、列表推导式
如果一个列表存放了很多整数,想要剔除里面的奇数,并将所有数字乘以100。
传统写法:
def remove_odd_mul_100(numbers):
result = []
for number in numbers:
if number % 2 == 0:
result.append(number * 100)
return result
用列表推导式写法:
def remove_odd_mul_100_new(numbers):
return [n * 100 for n in numbers if n % 2 == 0]
六、其他列表操作一览表: