括号内有两个参数index和data,用于在指定索引处插入元素,如果索引大于列表长度,则直接插入末尾
a = [1,2,4,5,6]
a.insert(2,3) # a = [1,2,3,4,5,6]
a.insert(12,3) # a = [1,2,3,4,5,6,3]
将新元素添加到列表的末尾,函数括号内有一个参数,用于接收将要添加到列表末尾的元素值
a = [1,2,3,4]
a.append(1) # a = [1,2,3,4,1]
括号里面是要删除元素的下标,不写默认删除最后一个
a = [1,2,3,4,5,6,3]
a.pop(2) # a = [1,2,4,5,6,3]
a.pop() # a = [1,2,4,5,6]
括号里面是要删除的元素的值,函数将会删除列表中所有值与所给值相等的元素
a = [1,2,3,4,5,6,3]
a.remove(3) # a = [1,2,4,5,6]
del不是函数而是语句,后面填写要删除的元素
a = [1,2,3,4,5,6]
del a[2] # a = [1,2,4,5,6]
in 是 Python 中的成员运算符,用于检查一个值是否存在于某个容器对象中。
运算符功能: 在列表中查找指定元素,若找到,则返回True,否则返回False
my_list = [1,2,3,4,5]
m = 1
if m in my_list:
print('1 found in the list.')
else:
print('1 not found in thr list')
list.index(value, start, end)
my_list = [1,2,3,4,2,2]
try:
i = my_list.index(2) # i = 1
except ValueError:
print('2 not found in the list.')
try:
j = my_list.index(4,0,3) # 查找失败
except valueError:
print('4 is not found in the list.')
创建列表时既可以使用append()、insert()等函数结合迭代操作逐个插入元素,也可以使用列表解析的方法。
列表解析是一种简洁的构建列表方法,它允许用户使用单一的表达式在一行中创建一个新的列表。
列表解析的语法
new_list = [expression for item in iterable if condition]
先使用split()函数将一行输入切割陈若干字符串类型的变量存入字符串类型的列表中,然后使用int()等函数对列表中的每个元素进行类型转换即可得到所需列表。
my_list = input().split() # 创建字符串类型列表
myIntList = [int(i) for i in my_list] # 通过解析操作转换成整型列表
使用for循环重复运行input()函数,将元素逐个存入列表中。
my_list = [] # 初始化整型列表
n = input() # 获取元素个数
for _ in range(n):
i = int(input())
my_list.append(i)
使用while循环重复运行input()函数,将元素逐个存入列表中。
my_list = []
while True:
i = int(input())
if not i: # 将0设置为截止标志
break
my_list.append(i)
list.sort(key=None, reverse=False)
# 定义一个函数作为排序键,按元素的倒数进行排序
def key_function(x):
return 1 / x
my_list = [3,2,4,1,5,2]
my_list.sort() # my_list = [1,2,2,3,4,5]
my_list.sort(reverse = True) # my_list = [5,4,3,2,2,1]
sorted(iterable, key=None, reverse=False)
# 定义一个函数作为排序键,按元素的倒数进行排序
def key_function(x):
return 1 / x
my_list = [3,2,4,1,5,2]
new_list = sorted(my_list) # new_list = [1,2,2,3,4,5]
Python中列表在非空时表示True,列表为空表示False
listOne = []
listTwo = [1]
if listOne:
print('The list is not empty')
if listTwo:
print('The list is not empty')
len(list)
函数功能: 返回列表的长度(列表中元素的个数)
listOne = []
listTwo = [1]
print(len(listOne)) # 0
print(len(listTwo)) # 1
二维列表可以被当做元素类型为列表的列表,所以可以直接枚举所有元素初始化列表。但需要注意Python中不允许通过只规定列表大小的初始化,在创建列表时,所有的元素必须被明确赋值。
matrix = [
[1,2,3],
[4,5,6],
[7,8,9]
]
# 错误的创建方式
matrix = [3][3]
和一维列表一样,二维列表也可以使用解析操作实现快速赋值。
row = 4 # 行数
matrix = [[int(i) for i in input().split()] for _ in range(row)]
二维列表中的实际元素类型是一维列表,其原理如下:
matrix = [
[1,2,3],
[4,5,6],
[7,8,9]
]
# 使用一重for循环遍历列表的时候,依次读取每一个列表
for row in matrix:
print(row)
# 运行结果
# [1,2,3]
# [4,5,6]
# [7,8,9]
# 使用两重for循环才能找到特定元素
for row in matrix:
for col in row:
print(col,end=' ')
print('\n')
# 运行结果
# 1 2 3
# 4 5 6
# 7 8 9
除此以外,也可以直接通过索引找到所需元素
element = matrix[1][1] # element = 5
my_list = matrix[0] # my_list = [1,2,3]