Python学习之列表及其操作

这是一种常用且重要的数据类型,List可以用来存储一系列的元素,对于后期的很多数据结构都十分重要。

一、创建列表

列表是由一系列元素组成的有序集合,可以包含不同类型的数据。列表的元素之间用逗号隔开,并用方括号括起来。有两种方法可以创建列表,形式如下:

#🌾:1.用方括号创建
ls = [1,2,3,4]

#🌾:2.用list()函数创建
ls = list(1, 2, 3, 4)

下图展示了列表的机构,可以看到,列表可以由多种数据类型构成:

创建列表的两种方式示例:

🌾 a. 使用方括号,并在其中列出元素:

#🌾:创建一个包含数字的列表
list1 = [1,2,3,4,5]

#🌾:创建一个包含字符串的列表
list2 = ["a","b","c","d","e"]

#🌾:创建一个包含不同类型数据的列表
list3 = [1,"a",True,[1,2,3]]

🌾 b.使用 list() 函数:

#🌾:将字符串转换为列表
list4 = list("Hello, world!")

#🌾:将元组转换为列表
list5 = list((1, 2, 3, 4, 5)) 

二、访问列表中的值

上面我们通过了两种方法,创建了列表,现在可以使用索引来访问列表中的元素。列表的访问索引是从 0 开始,即第一个元素的索引为 0,因此第二个元素的索引是1,依此类推。还是下面这张图,索引的方向不一样,索引坐标的值也不一样。

以下,我们通过一些示例代码来具体看看,下面的列表包含了数字、字符串、bool值、浮点数、列表、字典等多种数据类型。

🌾 a. 通过索引访问列表中的单个值

# 定义列表
my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]

#🌾:访问第一个元素
print(my_list[0])  # 输出: 1

#🌾:访问第三个元素
print(my_list[2])  # 输出: True

🌾b. 使用负数索引访问列表末尾的元素

#🌾:最后一个元素
print(my_list[-1])  # {'name': 'John', 'age': 30}

#🌾:倒数第三个元素
print(my_list[-3])  # 输出: 3.14

🌾c. 切片(Slicing):访问列表中的一部分元素:

#🌾:访问第二到第四个元素(索引1到3),访问的范围是[a,b],也就是等于a,小于b的区间的元素。
print(my_list[1:4])  # 输出: ['apple', True, 3.14]

#🌾:从第三个元素到最后一个元素
print(my_list[2:])  # 输出: [True, 3.14, [5, 6, 7], {'name': 'John', 'age': 30}]

#🌾:从第一个元素到倒数第二个元素
print(my_list[:-1])  # 输出: [1, 'apple', True, 3.14, [5, 6, 7]]

#🌾:使用负数索引进行切片
print(my_list[-3:-1])  # 输出: [3.14, [5, 6, 7]]

 🌾d. 检查列表中是否包含某个值

#🌾:in 表示 成员运算符
my_list = [1,2,4,10,30]

#🌾:
if 30 in my_list:
    print("30 存在于列表中")
else:
    print("30 不存在于列表中")

三、更新列表

列表是可变的,可以通过添加、删除、修改、扩展和清空元素来修改列表。下面我们一起来看看示例代码:

1. 添加元素

🌾 a. 使用 append() 方法在列表末尾添加一个元素

my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]

#🌾:append()
my_list.append(7)

print(my_list)  # 输出: [1, 'apple', True, 3.14, [5, 6, 7], {'name': 'John', 'age': 30}, 7]

🌾 b. 使用 insert() 方法在指定位置插入一个元素

my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]

#🌾 insert() 
my_list.insert(2, 3)  # 在索引为2的位置插入元素

print(my_list)  # 输出:[1, 'apple', 3, True, 3.14, [5, 6, 7], {'name': 'John', 'age': 30}] 

2. 删除元素

🌾 a. 使用 remove() 方法删除指定值的第一个元素:

my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]

#🌾:remove() 删除
my_list.remove(1)

print(my_list)  # 输出: ['apple', True, 3.14, [5, 6, 7], {'name': 'John', 'age': 30}]

🌾 b. 使用 pop() 方法删除指定位置的元素(默认为最后一个元素),并返回被删除的元素

my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]

#🌾:pop() 删除索引为2的元素,并将其赋值给变量
popped_element = my_list.pop(1)  

print(my_list)  # 输出: [1, True, 3.14, [5, 6, 7], {'name': 'John', 'age': 30}]
print("被删除的元素是:", popped_element)  # 输出: 被删除的元素是: apple

🌾 c. 使用 del 语句删除指定位置的元素

my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]

#🌾:del 语句删除指定位置的元素
del my_list[1]

print(my_list)  # 输出: [1, True, 3.14, [5, 6, 7], {'name': 'John', 'age': 30}] 

3. 修改元素

直接通过索引赋值

my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]

#🌾: 直接通过索引赋值
my_list[1] = 100

print(my_list)  # 输出: [1, 100, True, 3.14, [5, 6, 7], {'name': 'John', 'age': 30}] 

4. 扩展列表

使用 extend() 方法通过另一个列表扩展当前列表:

# 列表一
my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]
# 列表二
new_elements = [6, 7, 8]

#🌾:extend() 扩展
my_list.extend(new_elements)

print(my_list)  # 输出: [1, 'apple', True, 3.14, [5, 6, 7], {'name': 'John', 'age': 30}, 6, 7, 8]

5. 拼接列表

使用 + 操作符来拼接列表:

my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]

#🌾:" + " 连接
listNew = my_list[0:2] + my_list[3:4] + [my_list[5]]

print(listNew)  # 输出:[1, 'apple', 3.14, {'name': 'John', 'age': 30}]

🔊:这里需要讲两个知识点

1. 是在切片访问时,访问的范围是[a,b],也就是等于a,小于b的区间的元素。
2. 是[my_list[5]],这里我们单独访问了一个字典,需要用[],将字典转为列表,才能进行拼接。

6. 清空列表

使用 clear() 方法清空列表中的所有元素:

my_list = [1, "apple", True, 3.14, [5,6,7], {"name": "John","age": 30}]

#🌾 clear() 清空
my_list.clear()

print(my_list)  # 输出: []

四、列表比较

Python中,列表是可以使用 == 和 != 操作符来比较两个列表。

#🌾: == 相等
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(list1 == list2)  # 输出:True

#🌾:!= 不想等
list3 = [1, 2, 4]
print(list1 == list3)  # 输出:False 

五、列表排序

Python中,使用 sort() 方法来对列表进行排序。

#数据列表
list = [5, 1, 4, 3, 6]

#🌾:正向排序
list.sort()
print(list)  # 输出:[1, 3, 4, 5, 6]

#🌾:反向排序
list.sort(reverse=True)
print(list)  # 输出:[6, 5, 4, 3, 1]

六、列表反转

Python中,使用 reverse() 方法来对列表进行反转。

list = [5, 1, 4, 3, 6]
#🌾:反转
list.reverse()
print(list)  # 输出:[6, 3, 4, 1, 5] 

七、Python列表操作常见函数总结

函数/方法 描述
len(list) 返回列表的长度。
list.append(element) 将元素添加到列表的末尾。
list.insert(index, element) 将元素插入到列表的指定位置。
list.remove(element) 删除列表中的第一个匹配元素。
list.pop() 删除列表中的最后一个元素。
list.pop(index) 删除列表中指定位置的元素。
list.count(element) 返回列表中元素出现的次数。
list.index(element) 返回列表中第一个匹配元素的下标。
list.sort() 对列表进行排序。
list.reverse() 对列表进行反转。

posted on 2024-12-04 13:41  梁飞宇  阅读(457)  评论(0)    收藏  举报