Python 列表初始化
列表(List)是Python中最常用的一种数据结构,用于存储多个元素的有序集合。列表可以包含不同类型的元素,例如数字、字符串、布尔值等。在Python中,列表是可变的,即可以动态地向列表中添加、删除或更改元素。
创建一个空列表
在Python中,可以使用方括号 []
或者 list()
函数来创建一个空列表。下面是两种创建空列表的方式:
# 使用方括号
my_list = []
print(my_list) # []
# 使用list()函数
my_list = list()
print(my_list) # []
运行结果:
[]
[]
可以看到,两种方式都可以创建一个空列表。
创建带有初始元素的列表
如果需要创建一个包含初始元素的列表,可以在创建列表时使用方括号,将初始元素以逗号分隔放入方括号中。
my_list = [1, 2, 3, 4, 5]
print(my_list) # [1, 2, 3, 4, 5]
运行结果:
[1, 2, 3, 4, 5]
上述代码创建了一个包含 1、2、3、4、5 这五个元素的列表。
使用 range() 函数创建列表
在Python中,可以使用 range()
函数创建一个有规律的数字序列,然后将其转换为列表。range()
函数有三种传参方式:
range(stop)
:创建一个从 0 到 stop-1 的序列。range(start, stop)
:创建一个从 start 到 stop-1 的序列。range(start, stop, step)
:创建一个从 start 到 stop-1 的序列,且步长为 step。
通过 list()
函数将 range()
函数返回的序列转换为列表。
以下是几个示例:
# 创建一个从 0 到 4 的序列,并转换为列表
my_list = list(range(5))
print(my_list) # [0, 1, 2, 3, 4]
# 创建一个从 1 到 5 的序列,并转换为列表
my_list = list(range(1, 6))
print(my_list) # [1, 2, 3, 4, 5]
# 创建一个从 0 到 10 的序列,步长为 2,并转换为列表
my_list = list(range(0, 11, 2))
print(my_list) # [0, 2, 4, 6, 8, 10]
运行结果:
[0, 1, 2, 3, 4]
[1, 2, 3, 4, 5]
[0, 2, 4, 6, 8, 10]
可以看到,通过使用 range()
函数结合 list()
函数,可以快速创建一个有规律的数字列表。
使用列表生成式创建列表
Python中的列表生成式(List Comprehension)是一种简洁的创建列表的方法。它可以在一个表达式中生成列表的元素,并可以包含条件语句。
以下是使用列表生成式创建列表的一些示例:
# 创建一个包含 1 到 5 的平方的列表
my_list = [x**2 for x in range(1, 6)]
print(my_list) # [1, 4, 9, 16, 25]
# 创建一个包含 0 到 10 中的偶数的列表
my_list = [x for x in range(11) if x % 2 == 0]
print(my_list) # [0, 2, 4, 6, 8, 10]
运行结果:
[1, 4, 9, 16, 25]
[0, 2, 4, 6, 8, 10]
可以看到,通过使用列表生成式,可以更加简洁地创建具有特定规律的列表。
复制一个列表
在Python中,当我们将一个列表赋值给另一个变量时,实际上是将原始列表的引用赋值给了新变量。这意味着,修改其中一个列表将影响到另一个列表。如果想要复制一个列表,可以使用切片操作或者 list()
函数进行复制。
my_list = [1, 2, 3, 4, 5]
# 使用切片操作复制列表
new_list = my_list[:]
print(new_list) # [1, 2, 3, 4, 5]
# 修改原始列表
my_list[0] = 0
print(my_list) # [0, 2, 3, 4, 5]
print(new_list) # [1, 2, 3, 4, 5]
运行结果:
[1, 2, 3, 4, 5]
[0, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
通过切片操作复制列表,即使原始列表被修改,复制后的列表不会受到影响。
my_list = [1, 2, 3, 4, 5]
# 使用list()函数复制列表
new_list = list(my_list)
print(new_list) # [1, 2, 3, 4, 5]
# 修改原始列表
my_list[0] = 0
print(my_list) # [0, 2, 3, 4, 5]
print(new_list) # [1, 2, 3, 4, 5]
运行结果:
[1, 2, 3, 4, 5]
[0, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
使用 list()
函数进行复制同样可以实现相同的效果。
总结
通过方括号、list()
函数、range()
函数、列表生成式等方式,我们可以初始化一个列表。在选择复制一个列表时,可以使用切片操作或者 list()
函数来生成一个新的列表,以避免修改原始列表时对复制列表的影响。列表是Python中非常常用的数据结构,在很多情况下都可以使用列表来存储和处理数据。