3.1 列表定义
①列表是由一系列按特定顺序排列的元素组成,可以包含字母、数字等
②用[]表示列表,用逗号分隔其中的元素
③列表使有序集合
3.1.1 访问列表元素
1.利用元素的位置索引访问列表元素,先指出列表的名称,再指出元素的索引,并将索引放在[]里
3.1.2 索引从0而不是1开始
1.第一个列表元素的值是0而不是1
2.访问最后一个列表元素可以通过索引-1来访问,-2表示返回倒数第二个列表元素,好处是可以不用知道列表的长度
3.1.3 使用列表中的各个值
1.可以使用f字符串根据列表中的值来创建消息
eg:
foods = ['potato'、'tomato'、'apple']
message = f"My fovarate food is {foods[2].title()}"
print(message)
3.2 修改、添加和删除元素
1.创建的大多数列表将是动态的
3.2.1 修改列表元素
1.修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值
eg:
motorcycles = ['honda'、'yamada'、'yadi']
metorcycles[2] = 'suzuki'
print(motorcycles)
3.2.2 在列表中添加元素
1.append(),在列表末尾添加元素,可以动态地创建列表
motorcycles = ['honda'、'yamada'、'yadi']
motorcycles.append('suzi')
print(motorcycles)
2.在列表中插入元素
1.insert(),可在列表的任何位置添加新元素,你需要指定新元素的索引和值,这种操作会将列表中既有的每个元素都右移一个位置
motorcycles = ['honda'、'yamada'、'yadi']
motorcycles.insert(0,'suzuki')
print(motorcycles)
3.2.3 在列表中删除元素
1.根据索引来删除元素
①使用del语句删除元素,可删除任意位置处的元素,条件是知道索引,但是,使用del语句将值从列表中删除后,你就无法再访问删除的元素了
motorcycles = ['honda'、'yamada'、'yadi']
del motorcycles[1]
print(motorcycles)
['honda'、'yadi']
②使用方法pop()删除元素,删除列表最末尾的元素,并能继续使用删除的元素
motorcycles = ['honda'、'yamada'、'yadi']
first_owned = motorcycles.pop(0)
print(f"The first motorcycles T owned was a {first_owned.title()}")
③其实,方法pop()也能弹出列表中任何位置处的元素,只需在圆括号里指定要删除元素的索引即可;需要注意的是,每当使用pop()时,被弹出的元素就不再在列表中了
2.根据值删除元素,有时候并不知道删除的值的位置,可以通过方法remove()来删除元素的值,删除元素时,也可接着使用它的值
motorcycles = ['honda'、'yamada'、'yadi']
too_expensive = "honda"
motorcycles.remove('too_expensive')
print(motorcycles)
print(f"\nA {too_expensive.title()} is too expensive for me")
['yamada'、'yadi']
A Honda is too expensive for me
notice:方法remove()只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环来确保将每个值都删除
3.3 组织列表
1.使用方法sort()对列表永久排序
假设列表中元素的字母都是小写的
①按字母顺序永久排序
cars = ['bmw','audi','toyoda','sudaru']
cars.sort()
print(cars)
['audi','bmw','sudaru','toyoda']
②按字母顺序倒序永久排序,向sort方法传递参数reverse = True
cars = ['bmw','audi','toyoda','sudaru']
cars.sort(reverse = True)
print(cars)
['sudaru','toyoda','audi','bmw']
2.使用函数sorted()对列表临时排序,按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序
cars = ['bmw','audi','toyoda','sudaru']
print(cars)
#输出结果['bmw','audi','toyoda','sudaru']
print(cars.sorted())
#输出结果['audi','bmw','sudaru','toyoda']
print(cars)
#输出结果['bmw','audi','toyoda','sudaru']
调用函数sorted()后,列表元素的排列顺序并没有改变
3.3.3 倒着打印列表
1.方法reverse():反转列表元素的排列顺序,永久性的修改顺序
notice:reverse()不是按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序
cars = ['bmw','audi','toyoda','sudaru']
print(cars)
#输出结果['bmw','audi','toyoda','sudaru']
cars.reverse()
paint(cars)
#输出结果['sudaru','toyoda','audi','bmw']
3.3.4 确定列表的长度
1.函数len()来获取列表的长度
cars = ['bmw','audi','toyoda','sudaru']
print(len(cars))
#输出结果:4