Python列表函数&方法
函数:
len(list):列表元素个数
max(list):返回列表元素最大值
min(list):返回列表元素最小值
list(seq):将元组转换为列表
方法
list.append(obj):在列表末尾添加新的对象
list.count(obj):统计某个元素在列表中出现的次数
list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj):从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj):将对象插入列表
list.pop([index=-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj):移除列表中某个值的第一个匹配项
list.reverse():反向列表中元素
list.sort( key=None, reverse=False):对原列表进行排序
list.clear():清空列表
list.copy():复制列表
列表是什么
在Python中,用方括号( [] )来表示列表,并用逗号来分隔其中的元素。
列表中的每个值都有对应的位置值,称之为索引,索引从 0开始。
列表由一系列按特定顺序排列的元素组成;
可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中;
列表的数据项不需要具有相同的类型,列表中的元素之间可以没有任何关系;
列表都可以进行的操作包括索引,切片,加,乘,检查成员。
访问列表元素
列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。
要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。
#!/usr/bin/python3
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
#列表索引从 0 开始
print( list[0] ) #red
#索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推
print( list[-1] ) #black
可以使用方括号 [] 的形式截取字符:
#!/usr/bin/python3
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4]) #[10, 20, 30, 40]
# 从第二位开始(包含)截取到倒数第二位(不包含)
print ("list[1:-2]: ", list[1:-2]) #[20, 30, 40, 50, 60, 70, 80]
更新列表
创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。
修改列表元素
要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
在列表中添加元素
在列表末尾添加元素:使用 append() 方法将元素添加到了列表末尾
在列表中插入元素:使用方法 insert() 可在列表的任何位置添加新元素
list = ['aaa', 'bbb', 'ccc']
list.insert(0, 'ddd')
print(list) #['aaa', 'bbb', 'ccc', 'ddd']
从列表中删除元素
使用 del 语句删除元素(根据索引位置删除元素)
使用方法 pop() 删除元素(删除列表末尾的元素)
弹出列表中任何位置处的元素(pop(索引)可删除指定位置的元素)
根据值删除元素(使用方法 remove())
注意:
方法 remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要
使用循环来判断是否删除了所有这样的值。
如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用 del 语句;如果你要在删除元素后还能继续使用它,就使用方法 pop() 。
列表排序
使用方法 sort() 对列表进行永久性排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars) #['audi', 'bmw', 'subaru', 'toyota']
#按与字母顺序相反的顺序排序,只需向 sort() 方法传递参数reverse=True 。
cars.sort(reverse=True)
print(cars) #['toyota', 'subaru', 'bmw', 'audi']
使用函数 sorted() 对列表进行临时排序
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数 sorted() 。
函数sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。
cars = ['bmw', 'audi', 'toyota', 'subaru']
#['audi', 'bmw', 'subaru', 'toyota']
print(sorted(cars))
#['bmw', 'audi', 'toyota', 'subaru']
print(cars)
注意:调用函数 sorted() 后,列表元素的排列顺序并没有变。如果你要按与字母顺序相反的顺序显示列表,也可向函数 sorted() 传递参数 reverse=True 。
反序
使用方法 reverse() 可反转列表元素的排列顺序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.reverse()
print(cars) #['subaru', 'toyota', 'audi', 'bmw']
列表的长度
使用函数 len() 可快速获悉列表的长度。
Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
len([1, 2, 3]) #长度:3
[1, 2, 3] + [4, 5, 6] #组合:[1, 2, 3, 4, 5, 6]
['Hi!'] * 4 # 重复:['Hi!', 'Hi!', 'Hi!', 'Hi!']
3 in [1, 2, 3] #元素是否存在于列表中:True
for x in [1, 2, 3]: print(x, end=" ") #迭代:1 2 3
#使用嵌套列表即在列表里创建其它列表
>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
列表比较
列表比较需要引入 operator 模块的 eq 方法
# 导入 operator 模块
import operator
a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b)) #operator.eq(a,b): False
print("operator.eq(c,b): ", operator.eq(c,b)) #operator.eq(c,b): True