列表

列表由一系列按特定顺序排列的元素构成。你可以创建包含字母表中所有字母,数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系列表通常包含多个元素,因此给列表指定一个表示复数的名称是个不错的主意。

在Python中用方括号[]表示列表,并用逗号分隔其中的元素。

  1. bicycles = ['trek', 'cannondale', 'redline', 'specialized']
  2. print(bicycles)

如果让Python将列表打印出来,Python将打印列表的内部表示,包括方括号
image.png

访问列表元素

只需要该元素的索引

  1. bicycles = ['trek', 'cannondale', 'redline', 'specialized']
  2. print(bicycles[0]) # trek
  3. print(bicycles[0].title()) #Trek

Python为访问最后一个列表元素提供了一种特殊语法,通过将索引指定为-1,可让Python返回最后一个列表元素。

  1. bicycles = ['trek', 'cannondale', 'redline', 'specialized']
  2. print(bicycles[-1]) #'specialized'
  3. print(bicycles[-2]) #'redline'

修改列表元素

motocycles[0] = 'ducati'

在列表中添加元素

附加append

给列表附加元素时,它将添加到列表末尾

  1. motocycles = ['honda', 'yamaha', 'suzuki']
  2. print(motocycles)
  3. motocycles.append('ducati')
  4. print(motocycles)

image.png
也可以创建一个空列表,使用append添加元素

  1. motocycles = []
  2. print(motocycles)
  3. motocycles.append('ducati')
  4. print(motocycles)

在列表中插入元素

insert()

  1. motocycles = ['honda', 'yamaha', 'suzuki']
  2. print(motocycles)
  3. motocycles.insert(0,'ducati')
  4. print(motocycles)

从列表中删除元素

del

  1. del arr[index]

pop

方法pop()删除列表末尾的元素,并让你能够接着使用它。

  1. motocycles = ['honda', 'yamaha', 'suzuki']
  2. print(motocycles)
  3. popped_motocycle = motocycles.pop()
  4. print(motocycles)
  5. print(popped_motocycle)

image.png

弹出列表中任何位置处的元素

实际上,可以使用pop()来删除列表中任意位置的元素,只需在圆括号中指定要删除元素的索引即可

  1. motocycles = ['honda', 'yamaha', 'suzuki']
  2. first_owned = motocycles.pop(0)
  3. print(f"The first motocycle I owned was a {first_owned.title()}")

别忘了,每当你使用pop()时,被弹出的元素就不在列表中了

根据值删除元素

有时候,你不知道要从列表中删除的值所处的位置。如果只知道要删除的元素的值,可使用方法remove()

  1. motocycles = ['honda', 'yamaha', 'suzuki']
  2. print(motocycles)
  3. motocycles.remove('yamaha')
  4. print(motocycles)

使用remove()从列表中删除元素时,也可接着使用它的值

  1. motocycles = ['honda', 'yamaha', 'suzuki']
  2. print(motocycles)
  3. too_expensive = 'yamaha'
  4. motocycles.remove('yamaha')
  5. print(motocycles)
  6. print(f"\n A {too_expensive.title()} is too too expensive for me")

方法remove()只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环,来确保每个值都删除。

组织列表

使用方法sort()对列表永久排序

  1. cars = ['bmw', 'audi', 'toyota', 'subaru']
  2. cars.sort()
  3. print(cars)
  4. # ['audi', 'bmw', 'subaru', 'toyota']
  1. cars = ['bmw', 'audi', 'toyota', 'subaru']
  2. cars.sort(reverse = True) # 按与字母顺序相反的顺序排列
  3. print(cars)
  4. # ['toyota', 'subaru', 'bmw', 'audi']

使用函数sorted()对列表临时排列

函数sorted()让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排排列

  1. cars = ['bmw', 'audi', 'toyota', 'subaru']
  2. print(cars)
  3. print(sorted(cars))
  4. print(cars)