文章目录
第二章 列表简介
2.1 列表
列表 由一系列元素按特定顺序排列组成。
在Python中,用方括号( [ ] )来表示列表,并用逗号分隔其中的元素。
fruits = ['apple', 'banana', 'orange']
print(fruits)
如果将列表打印出来,Python将打印列表的内部表示,包括方括号。
输出结果:
[‘apple’, ‘banana’, ‘orange’]
2.1.1 访问列表元素
列表是有序集合,要访问列表元素,只需像C语言中的数组一样,将元素的索引或位置表示出来即可。
例如:
fruits = ['apple', 'banana', 'orange']
print(fruits[0])
输出结果:
apple
- 可以发现列表的索引与数组一样都是从0开始的。
- 但Python还提供了一种特殊语法,索引-1返回倒数第一个元素。所以一个长度为a的列表索引取值范围为:[ -a, a-1]
2.2 修改、添加和删除元素
2.1.1 修改
可直接用赋值的方法修改列表的元素
fruits = ['apple', 'banana', 'orange']
fruits[1] = "peach"
print(fruits[1])
2.2.2 添加
1.在列表末尾添加元素
fruits = ['apple', 'banana', 'orange']
fruits.append('peach')
print(fruits)
输出结果为:
[‘apple’, ‘banana’, ‘orange’, ‘peach’]
- 方法
append()
会将参数的元素添加到列表末尾,而不影响其他元素
2.在列表中插入元素
使用insert()
可在列表中的任何位置插入新的元素。为此需要指定新元素和索引的值。
fruits = ['apple', 'banana', 'orange']
fruits.insert(2,'peach')
print(fruits)
在此示例中,insert(2, ‘peach’) 将新元素: ‘peach’(第二个参数)插入到原列表的第2个位置(第一个参数);同时,从原来第2个位置往后的所有元素后移一位。
2.2.3 删除
1. 使用del语句删除元素
如果已知所需删除的元素的位置,可以使用del语句
fruits = ['apple', 'banana', 'orange']
del fruits[0]
print(fruits)
输出结果为:
[‘banana’, ‘orange’]
2.使用方法pop()删除元素
有时候需要将元素从列表中删除,并接着使用它的值。
- 方法
pop()
可删除列表末尾的元素,并返回其值(类比弹出栈的栈顶元素)
fruits = ['apple', 'banana', 'orange']
print(fruits)
popped_fruit = fruits.pop()
print(popped_fruit)
print(fruits)
输出结果为:
[‘apple’, ‘banana’, ‘orange’]
orange
[‘apple’, ‘banana’]
- pop()可以在括号中加入参数,表示要删除的元素的索引
fruits = ['apple', 'banana', 'orange']
popped_fruit = fruits.pop(2)
print(popped_fruit)
输出结果为:
orange
3.根据值使用remove方法删除元素
有时候,我们不知道所需删除的元素的具体位置,只知道删除的元素的值,可以使用方法remove()
fruits = ['apple', 'banana', 'orange', 'apple']
print(fruits)
fruits.remove('apple')
print(fruits)
输出结果为:
[‘apple’, ‘banana’, ‘orange’, ‘apple’]
[‘banana’, ‘orange’, ‘apple’]
注意: remove只能删除第一个指定的元素
2.3 组织列表
2.3.1 使用方法sort()对列表永久性排序
fruits = ['banana', 'orange', 'apple']
print(fruits)
fruits.sort()
print(fruits)
输出结果为:
[‘banana’, ‘orange’, ‘apple’]
[‘apple’, ‘banana’, ‘orange’]
使用sort()之后,列表元素的顺序发生了永久性的变化
- 如果要按相反顺序排序列表,可以向sort()方法传递参数
reverse = True
fruits = ['banana', 'orange', 'apple']
fruits.sort(reverse = True)
print(fruits)
输出结果为:
[‘orange’, ‘banana’, ‘apple’]
2.3.2 使用函数sorted()对列表暂时性排序
fruits = ['banana', 'orange', 'apple']
print("Here is the original list:")
print(fruits)
print("\nHere is the sorted list:")
print(sorted(fruits))
print("\nHere is the original list again:")
print(fruits)
输出结果为:
Here is the original list:
[‘banana’, ‘orange’, ‘apple’]
Here is the sorted list:
[‘apple’, ‘banana’, ‘orange’]
Here is the original list again:
[‘banana’, ‘orange’, ‘apple’]
可见使用sorted后,列表元素的顺序并没有发生改变,sorted函数返回的是排序过的新列表
- 同样,可以向sorted()函数传递参数
reverse = True
使其反向排序
2.3.3 倒着打印列表
翻转列表元素的排列顺序,可以使用方法reverse()
fruits = ['banana', 'orange', 'apple']
fruits.reverse()
print(fruits)
输出结果为:
[‘apple’, ‘orange’, ‘banana’]
可见方法reverse()永久性地改变了列表元素的排列顺序,翻转了原来的列表元素顺序
2.3.4 确定列表的长度
使用函数len()
可以快速得到列表的长度。
fruits = ['banana', 'orange', 'apple']
print(len(fruits))
输出结果为:
3