1. 引言
在Python中,列表List是常用的数据类型之一,本文就列表相关常见的函数和操作进行汇总,方便大家查漏补缺。 闲话少说,我们直接开始吧
2. 创建列表
我们一般使用中括号创建列表,如下所示:
list1 = []当然我们也可以创建包含初始值的列表,如下所示:
list1 = [1,2,3]我们可以简单地在列表里添加元素,用中括号括起来,用逗号分隔。需要注意的是列表中可以包含任何数据类型的元素。如下所示:
list1 = [1,2,3]list2 = [3.14, 2.718]
list3 = ["apple", "orange"]
list4 = [True, [], None, {}]
# everything is valid here
3. 计算列表长度
一般来说列表的长度指的是列表中所拥有的元素的数量。如果我们需要得到列表的长度,我们一般使用内置的函数len,如下所示:
list1 = ["apple", "orange", "pear"]x = len(list1)
# x will be 3
4. 列表元素索引
假设我们有一个包含多个字符串的列表:
list1 = ["apple", "orange", "pear"]上述列表中每个字符串都位于某个特定的位置(索引)。
- "apple" 是列表中的第一个元素,索引值为0
- "orange" 是列表中的第二个元素,索引值为1
- "pear" 是列表中的第三个元素,索引值为2
假设我们需要访问列表中的第一个元素,即索引值为0的元素,样例代码如下:
x = list1[0]# x will be "apple"
当然索引值也可以是负数,此时我们从后面开始计数,如下:
list1 = ["apple", "orange", "pear"]x = list1[-1]
# -1 means first element from the back
# x will be "pear"
y = list1[-2]
# -2 means second element from the back
# y will be "orange"
5. 列表中添加新的元素
往列表中添加新的元素包括两种方式,第一为往列表尾部添加新的元素,第二种为往列表特定位置处添加新的元素。我们接下来一一进行介绍。
5.1 列表尾部添加新元素
我们不妨假设我们有如下列表:
list1 = ["apple", "orange", "pear"]如果此时我们需要往上述列表list1的尾部添加新的元素durian,此时我们可以使用append 函数,代码如下:
list1 = ["apple", "orange", "pear"]list1.append("durian")
# list1 will now be ["apple", "orange", "pear", "durian"]
5.2 列表特定位置添加新元素
如果我们不希望在列表尾部添加元素durian,而是希望在索引位置2处插入,此时我们可以使用insert 函数, 样例代码如下:
list1 = ["apple", "orange", "pear"]list1.insert(2, "durian")
# list1 will now be ["apple", "orange", "durian", "durian"]
6. 更新列表中的元素
我们不妨假设我们有如下列表:
list1 = ["apple", "orange", "pear"]如果我们希望将列表中第一个元素即索引值为0的元素替换为pineapple,我们可以如下操作:
list1 = ["apple", "orange", "pear"]list1[0] = "pineapple"
# list1 will be ["pineapple", "orange", "pear"]
7. 删除列表中的元素
我们不妨假设我们有如下列表:
list1 = ["apple", "orange", "pear"]如果我们希望将列表中第二个元素即索引值为1的元素 "orange" 进行删除,我们可以使用del关键字进行如下操作:
del list1[1]# list1 will now be ["apple", "pear"]
8. 遍历列表
如果我们需要对上述列表进行遍历访问:
list1 = ["apple", "orange", "pear"]最常用的使用for循环进行访问的方法如下:
for fruit in list1:print(fruit)
当然,我们也可以通过下述方式在访问列表元素的同时获取相应的索引,如下所示:
for i in range(len(list1)):fruit = list1[i]
print(i, fruit)
9. 判断列表中包含某元素
一般使用in操作符来判断列表中是否包含某个元素,样例代码如下:
list1 = ["apple", "orange", "pear"]if "apple" in list1:
print("apple is inside list1")
else:
print("apple is not inside list1")
10. 获取列表中某元素的索引
如果我们需要获取上述类别中,字符串 "orange"的索引,我们可以简单的使用index函数,代码如下:
list1 = ["apple", "orange", "pear"]i = list1.index("orange")
# i will be 1 as "orange" is at index 1
需要注意的是,函数index返回第一个找到的索引,如果列表中有多个"orange",第一个的索引将会作为函数index的返回值。样例代码如下:
list1 = ["apple", "orange", "pear", "orange", "orange"]i = list1.index("orange")
# i will still be 1
同时如果我们获取列表中不存在的元素的索引时,将会触发错误,如下:
i = list1.index("applepie")# this will raise an error
11. 获取列表中某元素出现的次数
假设我们有如下数字列表:
list1 = [4,5,6,4,4,5,6]如果我们需要获取上述列表中元素4在列表list1中出现的次数,我们可以简单地使用count函数来实现:
list1 = [4,5,6,4,4,5,6]x = list1.count(4)
# x will be 3, as 4 appears 3 times inside list1
12. 列表排序
假设我们有如下数字列表:
list1 = [3,5,2,1,4]我们希望对其进行从小到大排序,此时我们可以使用sort和sorted两个内置函数来实现上述功能。
使用sort函数进行排序的样例代码如下:
list1 = [3,5,2,1,4]list1.sort()
# list1 will be [1,2,3,4,5]
使用sorted函数进行排序的样例代码如下:
list1 = [3,5,2,1,4]list2 = sorted(list1)
# list2 will be [1,2,3,4,5]
# list1 will still be [3,5,2,1,4]
函数sort和sorted可以实现同样的功能,但是sorted在对列表排序时对列表进行了拷贝,所以list1还是保持原样。
13. 总结
本文重点介绍了Python中列表list常见的操作和相应的应用场景,并给出了相关代码示例。
您学废了嘛?