本文将总结Python中关于列表和元组的一些常用函数与方法。
一、列表的基本操作
Python使用使用中括号[ ]来解析列表。列表是可变的(mutable),即列表的内容是可以改变的。列表可以使用所有适用于序列的标准操作,例如索引、分片、连接和乘法。
1. list() 函数
list() 函数可以把一个序列类型转换成一个列表。list()函数可以作用于所有类型的序列(而不只是字符串)。
list(‘hello’) >>> [‘h’, ‘e’, ‘l’, ‘l’, ‘o’]
2. 改变列表:元素赋值
可以使用索引值来为某个特定的、位置明确的元素赋值。但不能为某个位置不存在的元素进行赋值。
x = [1, 1, 1]
1] = 2
print(x) >>> [1, 2, 1]
3. 删除元素
从列表中删除元素也很容易:使用 del 语句来实现。
names = [‘Alice’, ‘Beth’, ‘Cecil’, ‘Dee-Dee’, ‘Earl’]
del names[2] # 除了删除列表中的元素,del 语句还能用于删除其他元素。
print(names) >>> [‘Alice’, ‘Beth’, ‘Dee-Dee’, ‘Earl’]
4. 切片赋值
name = list(‘Kobe’)
print(name) >>> [‘K’, ‘o’, ‘b’, ‘e’]
name[2:] = list(‘cd’)
print(name) >>> [‘K’, ‘o’, ‘c’, ‘d’]
在使用切片赋值操作时,可以使用与原序列不等长的序列将分片替换:
name = list(‘Perl’)
name[1:] = list(‘ython’)
print(name) >>> [‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]
切片赋值还可以在不替换任何原有元素的情况下,为列表插入新的元素。
numbers = [1, 5]
numbers[1:1] = [2, 3, 4]
print(numbers) >>> [1, 2, 3, 4, 5]
通过列表切片还可以用来删除元素。
numbers = [1, 2, 3, 4, 5]
numbers[1:4] = []
print(numbers) >>> [1, 5]
二、列表方法(对象.方法(参数))
1. append():用于在列表末尾添加新的对象,返回一个列表,这是基于原列表的修改。
list1 = [1, 2, 3]
list1.append(4)
print(list) >>> [1, 2, 3, 4]
2. count():用于统计某个元素在列表中出现的次数。
list2 = [‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’]
print(list2.count(‘to’)) >>> 2
x = [[1,2], 1, 1, [2, 1, [1, 2]]]
print(x.count(1)) >>> 2
3. extend():用于在列表的末尾添加另一个序列。
a = [1, 2, 3]
b = [4, 5, 6]
print(a.extend(b)) >>> [1, 2, 3, 4, 5, 6]
extend() 会修改被扩展的列表,而原始的连接操作(+)则不会,它将返回一个全新的列表。
print(a) >>> [1, 2, 3, 4, 5, 6]
print(a + b) >>> [1, 2, 3, 4, 5, 6]
print(a) >>> [1, 2, 3]
4. index():用于从列表中找出某个值第一个匹配项的索引位置。当搜索不存在的值时,程序就会引发一个异常。
knights = [‘We’, ‘are’, ‘the’, ‘knights’, ‘who’, ‘say’, ‘ni’]
print(knights.index(‘who’) >>> 4
5. insert():用于将对象插入到列表中的相应的位置。
numbers = [1, 2, 3, 5, 6, 7]
numbers.insert(3, ‘four’)
print(numbers) >>>[1, 2, 3, ‘four’, 5, 6, 7]
6. pop():用于移除列表中的一个元素(默认是最后一个),并且返回该元素的值。pop方法是唯一一个即能修改列表又返回元素值(除了None)的列表方法。
x = [1, 2, 3]
x.pop() >>> 3
print(x) >>> [1, 2]
x.pop(0) >>> 1
7. remove():用于移除列表中某个值的第一个匹配项。只有第一次出现的值被移除,而不存在与列表中的值是不会移除的。remove()是一个没有返回值却能改变原位置的方法,它修改了列表却没有返回值。
x = [‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’]
x.remove(‘be’)
print(x) >>> [‘to’, ‘or’, ‘not’, ‘to’, ‘be’]
8. reverse():将列表中的元素反向倒序。
x = [1, 2, 3]
x.reverse()
print(x) >>> [3, 2, 1]
9. sort():用于在原位置对列表进行排序。
x = [4, 6, 2, 1, 7, 9]
x.sort()
print(x) >>> [1, 2, 4, 6, 7, 9]
三、元组(不可变序列)
创建元组的语法很简单:如果你用逗号分隔了一些值(1, 2, 3),那么你就自动创建了元组。
实现包括单值的元组,必须加个逗号:(42,)
tuple函数的功能与list函数基本上是一样的:以一个序列作为参数并把它转化为元组。
tuple([1, 2, 3]) >>> (1, 2, 3)
唯一不同的就是元组是不可改变的,不可删除其中的元素。除了创建元组和访问元组元组之外,也没有太多其他操作,可以参考其他类型的序列来实现。元组的意义在于它可以在映射(和集合的成员)中当作键使用,而列表则不行;元组作为很多内建函数和方法的返回值存在。
以上就是关于列表与元组的一些常用方法,列表的绝大部分方法对元组同样适用。当然这只是列表众多方法中的一小部分,更多内容你可以查看Python的相关教程。