Python 列表入门指南(上)
2024-02-21 22:55:03
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 列表来存储和处理数据了。
常见问题解答
-
列表和元组有什么区别? 列表是可变的,也就是说你可以修改列表里的元素;而元组是不可变的,一旦创建就不能修改。列表用方括号 [] 表示,元组用圆括号 () 表示。
-
列表可以嵌套吗? 可以,列表里可以放别的列表,形成嵌套列表,就像一个多维数组。
-
如何复制一个列表? 直接用
=
赋值只是创建了一个新的引用,指向同一个列表。如果想创建一个真正的副本,可以使用list.copy()
方法或者切片list[:]
。 -
如何清空一个列表? 可以使用
list.clear()
方法。 -
如何判断一个元素是否在列表中? 可以使用
in
运算符,例如'apple' in fruits
,如果fruits
列表中包含 'apple',则返回 True,否则返回 False。