Python 列表的用法

以下是关于 Python 列表的详细使用方法,涵盖了列表的创建、索引与切片、添加与删除元素、修改元素、列表排序、列表复制、列表推导式等方面:

一、列表的创建
直接创建:使用方括号 [] 可以直接创建一个列表,在方括号内可以放入任意类型的元素,元素之间用逗号隔开。

my_list = [1, 2, 3, 'apple', 'banana']

使用 list() 函数创建:可以将其他可迭代对象(如字符串、元组、集合等)转换为列表。

my_string = "hello"
my_list_from_string = list(my_string)
print(my_list_from_string)  # ['h', 'e', 'l', 'l', 'o']

my_tuple = (1, 2, 3)
my_list_from_tuple = list(my_tuple)
print(my_list_from_tuple)  # [1, 2, 3]

二、列表的索引与切片
索引:用于访问列表中的单个元素。列表中的元素是有顺序的,索引从 0 开始,即第一个元素的索引是 0,第二个元素的索引是 1,依此类推。可以使用负数索引从列表末尾开始访问元素,-1 表示最后一个元素,-2 表示倒数第二个元素,等等。

my_list = [10, 20, 30, 40, 50]
print(my_list[0])  # 10
print(my_list[-1])  # 50

切片:用于获取列表中的一部分元素,语法是 list[start:stop:step],其中 start 表示起始索引(包含),stop 表示结束索引(不包含),step 表示步长(默认为 1)。

my_list = [10, 20, 30, 40, 50]
print(my_list[1:4])  # [20, 30, 40]
print(my_list[::2])  # [10, 30, 50]
print(my_list[::-1])  # [50, 40, 30, 20, 10](反转列表)

三、列表的添加与删除元素
添加元素:
append() 方法:在列表末尾添加一个元素。

my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # [1, 2, 3, 4]

extend() 方法:用于将另一个可迭代对象(如列表、元组等)中的元素添加到当前列表末尾。

my_list = [1, 2, 3]
another_list = [4, 5, 6]
my_list.extend(another_list)
print(my_list)  # [1, 2, 3, 4, 5, 6]

insert() 方法:在指定索引位置插入一个元素,原索引位置及之后的元素会相应后移。

my_list = [1, 2, 3]
my_list.insert(1, 'a')
print(my_list)  # [1, 'a', 2, 3]

删除元素:
remove() 方法:删除列表中指定值的元素,如果列表中有多个相同值的元素,只会删除第一个遇到的元素。

my_list = [1, 2, 3, 2]
my_list.remove(2)
print(my_list)  # [1, 3, 2]

pop() 方法:删除并返回列表中指定索引位置的元素,如果不指定索引,默认删除并返回最后一个元素。

my_list = [1, 2, 3]
popped_element = my_list.pop(1)
print(popped_element)  # 2
print(my_list)  # [1, 3]

del 语句:可以删除列表中的元素,也可以删除整个列表。

my_list = [1, 2, 3]
del my_list[0]
print(my_list)  # [2, 3]

del my_list  # 删除整个列表,之后再使用my_list会报错

四、列表的修改元素
可以通过索引直接修改列表中的元素。

my_list = [1, 2, 3]
my_list[1] = 'new_value'
print(my_list)  # [1, 'new_value', 3]

五、列表的排序
sort() 方法:对列表中的元素进行原地排序(即直接修改原列表),默认是升序排序,可以通过 reverse=True 参数实现降序排序。

my_list = [3, 1, 4, 2]
my_list.sort()
print(my_list)  # [1, 2, 3, 4]

my_list.sort(reverse=True)
print(my_list)  # [4, 3, 2, 1]

sorted() 函数:返回一个新的已排序的列表,原列表不变。同样可以通过 reverse=True 参数实现降序排序。

my_list = [3, 1, 4, 2]
new_sorted_list = sorted(my_list)
print(new_sorted_list)  # [1, 2, 3, 4]
print(my_list)  # [3, 1, 4, 2]

new_sorted_list_desc = sorted(my_list, reverse=True)
print(new_sorted_list_desc)  # [4, 3, 2, 1]

六、列表的复制
浅复制:使用切片操作 [:] 或者 list() 函数可以实现列表的浅复制,即创建一个新的列表,新列表中的元素与原列表中的元素指向相同的对象(对于不可变对象来说没问题,但对于可变对象可能会导致意外情况)。

original_list = [1, [2, 3]]
shallow_copied_list = original_list[:]
print(shallow_copied_list)  # [1, [2, 3]]
# 修改浅复制列表中的可变元素
shallow_copied_list[1][0] = 'new_value'
print(original_list)  # [1, ['new_value', 3]]
print(shallow_copied_list)  # [1, ['new_value', 3]]

深复制:使用 copy.deepcopy() 函数(需要先导入 copy 模块)可以实现列表的深复制,即创建一个新的列表,新列表中的元素与原列表中的元素完全独立,修改新列表不会影响原列表。

import copy

original_list = [1, [2, 3]]
deep_copied_list = copy.deepcopy(original_list)
print(deep_copied_list)  # [1, [2, 3]]

# 修改深复制列表中的可变元素
deep_copied_list[1][0] = 'new_value'
print(original_list)  # [1, [2, 3]]
print(deep_copied_list)  # [1, ['new_value', 3]]

七、列表推导式
列表推导式是一种简洁的创建列表的方式,可以根据已有的列表或其他可迭代对象快速生成一个新的列表。
基本语法:[expression for item in iterable],其中 expression 是根据 item 生成新元素的表达式,item 是可迭代对象中的元素,iterable 是可迭代对象(如列表、元组、集合等)。

my_list = [1, 2, 3]
new_list = [x * 2 for x in my_list]
print(new_list)  # [2, 4, 6]

带条件的列表推导式:可以在列表推导式中添加条件判断,语法是 [expression for item in iterable if condition]。

my_list = [1, 2, 3, 4, 5]
even_list = [x for x in my_list if x % 2 == 0]
print(even_list)  # [2, 4]

以上就是 Python 列表的常见使用方法,熟练掌握这些方法可以在 Python 编程中更加灵活地处理数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值