range() 到Python中的列表
很多时候我们想要创建一个包含一个连续值的列表,比如在 100-200 的范围内。让我们讨论如何使用range()
函数创建列表。
这行得通吗?
# Create a list in a range of 10-20
My_list = [range(10, 20, 1)]
# Print the list
print(My_list)
输出 :
正如我们在输出中看到的那样,结果并不完全符合我们的预期,因为Python没有解压缩 range()函数的结果。
代码 #1:我们可以使用参数解包运算符,即* 。
# Create a list in a range of 10-20
My_list = [*range(10, 21, 1)]
# Print the list
print(My_list)
输出 :
正如我们在输出中看到的,参数解包运算符已成功解包 range函数的结果。代码 #2:我们可以使用extend()
函数来解压 range函数的结果。
# Create an empty list
My_list = []
# Value to begin and end with
start, end = 10, 20
# Check if start value is smaller than end value
if start < end:
# unpack the result
My_list.extend(range(start, end))
# Append the last value
My_list.append(end)
# Print the list
print(My_list)
输出 :