返回

Python 列表入门指南(上)

前端

Python 列表,简单来说,就像一个能装各种东西的容器,而且这些东西在容器里是按顺序摆放的。你可以把数字、文字,甚至别的容器都放进去。想要拿到里面的东西,就需要按照它们摆放的顺序,用一个编号来指定,这个编号我们叫它索引,从 0 开始算起。比如,你想拿到第一个东西,就用索引 0,第二个就用索引 1,以此类推。

咱们可以用方括号 [] 来表示一个列表,里面的东西用逗号隔开。举个例子:

shopping_list = ['牛奶', '鸡蛋', '面包', 10, True] 

你看,这个列表里既有文字,又有数字,还有布尔值,都装得下。

那么,怎么把东西放进列表或者从列表里拿出来呢?

创建和访问列表 其实很简单,就像这样:

numbers = [1, 3, 5, 7, 9]  # 创建一个装数字的列表
fruits = ['苹果', '香蕉', '橘子']  # 创建一个装水果名称的列表

print(numbers[0])  # 输出列表 numbers 的第一个元素,也就是 1
print(fruits[2])  # 输出列表 fruits 的第三个元素,也就是 '橘子'

你还可以用负数索引从列表的末尾开始访问元素。比如,numbers[-1] 指的是列表 numbers 的最后一个元素,也就是 9;fruits[-2] 指的是列表 fruits 的倒数第二个元素,也就是 '香蕉'。

切片 就更厉害了,它能让你一次性拿到列表里的一段连续的元素,就像切面包一样。切片的语法是 list[start:stop:step]start 是起始位置的索引,stop 是结束位置的索引(但不包括这个位置的元素),step 是步长,也就是每隔多少个元素取一个。

letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

print(letters[1:4])  # 输出 ['b', 'c', 'd']
print(letters[::2])  # 输出 ['a', 'c', 'e', 'g'],每隔一个元素取一个
print(letters[::-1])  # 输出 ['g', 'f', 'e', 'd', 'c', 'b', 'a'],列表倒序

遍历列表 的意思就是把列表里的每个元素都过一遍,就像点名一样。Python 里常用的方法是用 for 循环:

colors = ['红色', '绿色', '蓝色']

for color in colors:
  print(color)  # 每次循环,color 变量都会依次代表列表里的每一个元素

这个循环会依次输出 '红色'、'绿色'、'蓝色'。

排序 也很常用,比如你想把一个列表里的数字从小到大排列,或者把字符串按字母顺序排列,都可以用 Python 提供的排序功能。

numbers = [3, 1, 4, 1, 5, 9, 2, 6]

numbers.sort()  # 直接修改原列表,使其按升序排列
print(numbers)  # 输出 [1, 1, 2, 3, 4, 5, 6, 9]

names = ['张三', '李四', '王五']
sorted_names = sorted(names)  # 返回一个新的排序后的列表,不修改原列表
print(sorted_names)  # 输出 ['李四', '王五', '张三']

增删改 列表里的元素也很方便。

  • 增加元素: 可以用 append() 方法把元素添加到列表的末尾,或者用 insert() 方法把元素插入到指定位置。
animals = ['猫', '狗']

animals.append('兔子')  # 在列表末尾添加 '兔子'
print(animals)  # 输出 ['猫', '狗', '兔子']

animals.insert(1, '鸟')  # 在索引 1 的位置插入 '鸟'
print(animals)  # 输出 ['猫', '鸟', '狗', '兔子']
  • 删除元素: 可以用 remove() 方法删除指定值的元素,或者用 pop() 方法删除指定索引位置的元素(并返回被删除的元素)。
animals.remove('鸟')  # 删除 '鸟'
print(animals)  # 输出 ['猫', '狗', '兔子']

last_animal = animals.pop()  # 删除最后一个元素,并赋值给 last_animal 变量
print(last_animal)  # 输出 '兔子'
print(animals)  # 输出 ['猫', '狗']
  • 修改元素: 直接用索引赋值就可以修改列表中指定位置的元素。
animals[0] = '老虎'  # 把第一个元素改成 '老虎'
print(animals)  # 输出 ['老虎', '狗']

掌握了这些基本操作,你就可以灵活地运用 Python 列表来存储和处理数据了。

常见问题解答

  1. 列表和元组有什么区别? 列表是可变的,也就是说你可以修改列表里的元素;而元组是不可变的,一旦创建就不能修改。列表用方括号 [] 表示,元组用圆括号 () 表示。

  2. 列表可以嵌套吗? 可以,列表里可以放别的列表,形成嵌套列表,就像一个多维数组。

  3. 如何复制一个列表? 直接用 = 赋值只是创建了一个新的引用,指向同一个列表。如果想创建一个真正的副本,可以使用 list.copy() 方法或者切片 list[:]

  4. 如何清空一个列表? 可以使用 list.clear() 方法。

  5. 如何判断一个元素是否在列表中? 可以使用 in 运算符,例如 'apple' in fruits,如果 fruits 列表中包含 'apple',则返回 True,否则返回 False。