Skip to content

列表

概念

列表是由一系列按照特定顺序排列的元素组成。使用 [] 来表示

python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)

访问指定位置的元素

索引访问法:print(bicycles[0]),注意索引是从0开始,而不是从1开始,

访问最后一个元素可以使用索引 -1 来访问。

操作

  • 修改元素:直接赋值
  • 添加元素:append
  • 插入元素:insert
  • 删除指定位置的元素:del
  • 弹出指定位置的元素:pop
  • 删除第一个值相等的元素:remove
python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
print(bicycles[0].title())
bicycles[0] = "yong jiu" #修改元素
print(bicycles[0].title())

bicycles.append("changcheng") #在末尾添加一个元素
print(bicycles)

bicycles.insert(0,'motor') #在指定的位置插入元素
print(bicycles)

del bicycles[0] #直接删除指定位置的元素
print(bicycles)

last_owned = bicycles.pop(2) #弹出指定位置一个元素
print(bicycles)
print("刚刚删除的自行车是:",last_owned)

last_remove = bicycles.remove("changcheng") #根据值删除第一个符合条件元素
print(bicycles)

组织列表

永久性排序:

使用sort方法

python
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort() #按字母顺序排列,对列表元素排列顺序的修改是永久性的。
print(cars)

cars.sort(reverse=True) #按字母顺序排列(逆序)
print(cars)

临时性排序

使用sorted函数

python
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(sorted(cars)) #['audi', 'bmw', 'subaru', 'toyota']
print(cars) #['bmw', 'audi', 'toyota', 'subaru']

永久性反转列表

使用reverse方法

python
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.reverse()
print(cars)

确定列表的长度

使用len函数

python
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.reverse()
print(len(cars))

操作列表

遍历列表

python
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
  print(magician)

创建数值列表

range函数包含第一个,不包含第二个

python
for value in range(1,5):
  print(value) 
# 1
# 2
# 3
# 4
python
number = list(range(1,6))
print(number)

指定步长

python
number = list(range(1,7,2))

数字列表进行统计

  • 求和
  • 求最小值
  • 求最大值
python
number = list(range(1,6)) 
print(sum(number))
print(min(number))
print(max(number))

列表解析

快速创建一个列表

python
nums = [i**2 for i in range(1,6)]
print(nums) #[1, 4, 9, 16, 25]

使用列表的一部分

切片访问

包含前一个索引,不包含后一个索引

python
nums = [1,2,3,4,5]
print(nums[0:2]) #[1, 2]
print(nums[:2]) #[1, 2]
print(nums[2:]) #[3, 4, 5]
print(nums[-2:]) #[4, 5]

遍历切片

python
players = ['charles', 'martina', 'michael', 'florence', 'eli']

for player in players[2:]:
  print(player)

复制列表

python
players = ['charles', 'martina', 'michael', 'florence', 'eli']
# new_players = players #错误

new_players = players[:] #正确
print(new_players)