目录
列表
列表创建
在python中提供了两种创建列表的方式,分别是中括号“[]”和list()函数,基本用法如下
- 使用方括号 [] 创建列表:
# 创建一个空列表
my_list = []
# 创建一个包含整数的列表
my_list = [1, 2, 3, 4, 5]
# 创建一个包含不同类型数据的列表
my_list = [1, "abc", True, 3.14]
- 使用 list() 函数创建列表:
# 创建一个空列表
my_list = list()
# 创建包含整数的列表
my_list = list([1, 2, 3, 4, 5])
# 创建一个包含不同类型数据的列表
my_list = list([1, "abc", True, 3.14])
另外,在Python中还有一种列表推导式的方式创建列表,它可以根据一定的规律来生成列表的元素:
# 创建一个包含1~10的整数列表
my_list = [x for x in range(1, 11)]
# 创建一个包含1~10之间的偶数列表
my_list = [x for x in range(1, 11) if x % 2 == 0]
列表元素的访问方式
- 索引访问
my_list = ['a', 'b', 'c', 'd']
print(my_list[0]) # 输出结果为 'a'
print(my_list[-1]) # 输出结果为 'd'
- 切片索引
my_list = ['a', 'b', 'c', 'd']
print(my_list[0:2]) # 输出结果为 ['a', 'b']
print(my_list[1:]) # 输出结果为 ['b', 'c', 'd']
注意列表中的元素可以修改,如下:
my_list = ['a', 'b', 'c', 'd']
my_list[0] = 'A'
print(my_list) # 输出结果为 ['A', 'b', 'c', 'd']
列表元素的遍历方式
- 使用while循环遍历列表
list_name = ["造纸术","指南针","火药","印刷术"]
length = len(list_name)
i = 0
while i < length:
print(list_name[i])
i += 1
# 输出结果为造纸术
# 输出结果为指南针
# 输出结果为火药
# 输出结果为印刷术
上述代码通过while循环来遍历出列表的所有元素
- 使用for循环遍历列表
list_name = ["造纸术","指南针","火药","印刷术"]
for i in list_name:
print(i)
# 输出结果为造纸术
# 输出结果为指南针
# 输出结果为火药
# 输出结果为印刷术
上述代码通过for循环来逐个获取列表中的元素
基本操作
添加列表元素(在列表添加元素的方式有很多,最简单的方式可以通过“+”或者“*”实现列表的组合或重复)
- append()用于在列表末尾添加新的元素
list.append(item)
# list表示要添加元素的列表,item表示要添加的元素。
# 例子1
lst = [1, 2, 3]
lst.append(4)
print(lst) # 输出结果为[1, 2, 3, 4]
# 例子2
lst = []
lst.append('apple')
lst.append('banana')
print(lst) # 输出结果为['apple', 'banana']
- extend()用于在列表末尾添加另一个列表的元素。
list.extend(iterable)
# list表示要添加元素的列表,iterable表示可迭代对象,如列表、元组、集合等。
# 例子1
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst1.extend(lst2)
print(lst1) # 输出结果为[1, 2, 3, 4, 5, 6]
# 例子2
lst1 = ['apple', 'banana']
lst2 = ['orange', 'pear']
lst1.extend(lst2)
print(lst1) # 输出结果为['apple', 'banana', 'orange', 'pear']
注意extend()方法与append()方法不同,差数必须是迭代类型
- insert()用于在列表的任意位置插入新的元素。
list.insert(index, item)
# list表示要添加元素的列表,index表示要插入元素的索引位置,item表示要插入的元素
# 例子1
lst = ['apple', 'banana', 'orange']
lst.insert(1, 'pear')
print(lst) # 输出结果为['apple', 'pear', 'banana', 'orange']
# 例子2
lst = []
lst.insert(0, 'apple')
lst.insert(1, 'banana')
lst.insert(2, 'orange')
print(lst) # 输出结果为['apple', 'banana', 'orange']
注意:
- append()和extend()只能添加一个元素或一个列表,而insert()可以添加任意数量的元素。
- insert()方法的第一个参数是要插入的值的索引位置,从0开始。
查找列表元素
Python中有多种方法可以查找列表元素,以下是一些常用的方法:
- 索引(下标)查找:使用下标可以直接定位到列表中的某一个元素。
my_list = ['apple', 'banana', 'orange']
print(my_list[0]) # 输出: apple
print(my_list[1]) # 输出: banana
- in关键字查找:使用in关键字可以判断列表中是否包含某个元素。
my_list = ['apple', 'banana', 'orange']
if 'banana' in my_list:
print('找到了!')
- index()方法查找:使用index()方法可以查找某个元素在列表中的位置。
my_list = ['apple', 'banana', 'orange']
index = my_list.index('banana')
print(index) # 输出: 1
- 成员运算符查找:可以检查某个元素是否存在于列表中
in:若元素存在于列表中,返回True,否则返回False
not in:若元素不存在于列表中,返回True,否则,返回False
listl = [1,2,[3],4]
print([3] in listl)
# 输出结果为True
print(3 in list1)
# 输出结果为False
需要注意的是,如果要查找的元素不在列表中,则会抛出ValueError异常,需要进行异常处理。此外,当列表中有多个相同的元素时,只能找到第一个元素的位置。如果要查找所有相同元素的位置,可以使用循环加上index()方法来实现。