Python中创建数值列表——参考Python编程从入门到实践

1. 函数range( )的使用

range( )函数可以生成一系列的数字:

for value in range(1, 5):
    print(value)

Note:运行结果是打印数字1到4,即该函数的运行结果到指定的第二个值停止,不包含指定的第二个值。从数学角度表示就是[第一的指定值,第二个指定值)

2. 使用range( )函数创建数字列表

2.1 函数list( )可以将range( )的结果直接转换为列表:

numbers = list(range(1, 6))
print(numbers)

 运行结果:

[1, 2, 3, 4, 5]

2.2 range( )函数中可以继续指定第三个值,即步长:

numbers = list(range(2, 11, 2))    # 从2开始取值,不断加2,直到达到或超过11
print(numbers)

运行结果:

[2, 4, 6, 8, 10]

2.3 对创建的数值进行运算:

squares = []    # 创建一个空列表
for value in range(1, 11):    # 遍历1到10
    squares.append(value**2)    # 就算当前值的平方并存如列表末尾
print(squares)    # 打印列表

运行结果:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3. 对数字列表进行简单的统计

print(min(squares))    # 求列表中最小值并打印 
print(max(squares)) # 求列表中最大值并打印
print(sum(squares)) # 对列表中的值求和并打印

4. 列表解析

2中对列表中的值求平方的代码页可以简化为:

squares = [value**2 for value in range(1, 11)]
print(squares)

运行结果和上边一样,但代码块得到了很大的简化。

# 我觉得可以理解为将for循环的代码块倒着依次放入创建的空列表的方括号中。写代码时感觉容易遗漏的就是[],一旦漏写就会报错。

练习发现的问题 :

做练习时写了这样一行代码,创建一个列表,包含数字1~1 000 000,于是就模仿前边的示例写:

list_test = [for num in range(1, 1000001)]

运行之后报错还不知道哪里错了。

结果是在for之前还得写要存储到列表中的值num,即使不对该值有进一步的处理。

list_test = [num for num in range(1, 1000001)]  # 正确
 
点赞