在Python中需要存储一组数字的原因有很多。
例如在游戏中,需要跟踪每个角色的位置,还可能需要跟踪玩家的几个最高分。在数据可视化中,处理的几乎都是由数字(如温度、距离、人口数量、经度和纬度等)组成的集合
1 使用函数range()
python函数range()能够轻松的生成一系列数字。可以像下面这样使用函数range()来打印一系列的数字
for value in range(1,5):
print(value)
?运行结果
1
2
3
4
这个代码实际打印出来的数字是1到4,并不会到5。python中的range函数是从你指定的第一个值开始数,并达到你指定的第二个值后停止,因此不包含第二个值。所以要打印数字1~5,需要使用range(1,6)
for value in range(1,6):
print(value)
运行结果
1
2
3
4
5
?
使用range()时,如果输出不符合预期,可以尝试将指定的值加一或减一
2 使用range()创建数字列表
如果要创建数字,可使用函数list()将range()的结果直接转化为列表。如果将range()作为list()的参数,输出将为一个数字列表。要将这些数字转化为一个列表,可以使用list()
numbers=list(range(1,6))
print(numbers)
运行结果?
[1, 2, 3, 4, 5]
使用函数range()时,还可指定步长。
例如,下面的代码打印1~10以内的偶数
even_numbers=list(range(2,11,2))
print(even_numbers)
运行结果
[2, 4, 6, 8, 10]
?
使用函数range()几乎能够创建任何需要的数字集。
例如,创建一个列表,其中包括前10个整数(即1~10)的平方
squares=[]
for value in range(1,11):
square=value**2
squares.append(square)#是将square的值赋在squares的后面
print(squares)
我们也可以不用临时变量square,这样代码会很简洁
for value in range(1,11):
squares.append(value**2)
print(squares)
?运行结果
[1]
[1, 4]
[1, 4, 9]
[1, 4, 9, 16]
[1, 4, 9, 16, 25]
[1, 4, 9, 16, 25, 36]
[1, 4, 9, 16, 25, 36, 49]
[1, 4, 9, 16, 25, 36, 49, 64]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1, 4]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1, 4, 9]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1, 4, 9, 16]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1, 4, 9, 16, 25]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1, 4, 9, 16, 25, 36]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1, 4, 9, 16, 25, 36, 49]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1, 4, 9, 16, 25, 36, 49, 64]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3 对数字列表执行简单的统计计算
有几个专门用于处理数字列表的python函数,方便你可以找出数字列表的最大值、最小值和总和
digits=list(range(0,10))
print(digits)
del digits[0]
digits.append(0)
print(digits)
print(min(digits))
print(max(digits))
print(sum(digits))
?运行结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
0
9
45
4 列表解析
前面介绍的生成列表square的方式包括三四行代码,而列表解析让你只需编写一行代码就可以生成这样的列表。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素
例如创建平方数列表
squars=[value**2 for value in range(1,11)]
print(squars)
运行结果
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
?
这种语法先指定一个描述性的列表名,然后指定一个做方括号并定义一个表达式,用于生成你要存储到列表中的值。
在这个示例中,表达式为value**2,用于计算平方值,接下来编写一个for循环,用于给表达式提供值,再加上右方括号。
|