python⼀到10整数的平⽅和_零基础学python_10_列表(创建
数值列表)
创建数值列表
需要存储⼀组数字的原因有很多,例如,在游戏中,需要跟踪每个⾓⾊的位置,还可能需要跟踪玩家的⼏个最⾼得分。在数据可视化中,处理的⼏乎都是由数字(如温度、距离、⼈⼝数量、经度和纬度等)组成的集合。
列表⾮常适合⽤于存储数字集合,⽽Python提供了很多⼯具,可帮助你⾼效地处理数字列表。明⽩如何有效地使⽤这些⼯具后,即便列表包含数百万个元素,你编写的代码也能运⾏得很好。
1.使⽤函数range()
Python函数range() 让你能够轻松地⽣成⼀系列的数字。例如,可以像下⾯这样使⽤函数range() 来打印⼀系列的数字:for value in range(1,5):
print(value)
复制代码
上述代码好像应该打印数字1~5,但实际上它不会打印数字5:
在这个⽰例中,range() 只是打印数字1~4,这是你在编程语⾔中经常看到的差⼀⾏为的结果。函数range() 让Python从你指定的第⼀个值开始数,并在到达你指定的第⼆个值后停⽌,因此输出不包含第⼆个值(这⾥为5)。
要打印数字1~5,需要使⽤range(1,6) :for value in range(1,6):
print(value)
复制代码
这样,输出将从1开始,到5结束:
使⽤range() 时,如果输出不符合预期,请尝试将指定的值加1或减1。
2.使⽤range() 创建数字列表
要创建数字列表,可使⽤函数list() 将range() 的结果直接转换为列表。如果将range() 作为list() 的参数,输出将为⼀个数字列表。
在前⼀节的⽰例中,我们打印了⼀系列数字。要将这些数字转换为⼀个列表,可使⽤list() :numbers = list(range(1,6))菜鸟教程python如何用函数将长度不同的数列相加
print(numbers)
复制代码
结果如下:
使⽤函数range() 时,还可指定步长。例如,下⾯的代码打印1~10内的偶数:even_numbers = list(range(2,11,2))
print(even_numbers)
复制代码
在这个⽰例中,函数range() 从2开始数,然后不断地加2,直到达到或超过终值(11),因此输出如下:
使⽤函数range() ⼏乎能够创建任何需要的数字集,例如,如何创建⼀个列表,其中包含前10个整数(即1~10)的平⽅呢?在Python中,两个星号(** )表⽰乘⽅运算。下⾯的代码演⽰了如何将前10个整数的平⽅加⼊到⼀个列表中:squares = []
for value in range(1,11):
square = value**2
squares.append(square)
print(squares)
复制代码
⾸先,我们创建了⼀个空列表;接下来,使⽤函数range() 让Python遍历1~10的值。在循环中,计算当前值的平⽅,并将结果存储到变量square 中。然后,将新计算得到的平⽅值附加到列表squares 末尾。最后,循环结束后,打印列表squares :
为让这些代码更简洁,可不使⽤临时变量square ,⽽直接将每个计算得到的值附加到列表末尾:squares = []
for value in range(1,11):
squares.append(value**2)
print(squares)
复制代码
两种代码等效。在循环中,计算每个值的平⽅,并⽴即将结果附加到列表squares 的末尾。
创建更复杂的列表时,可使⽤上述两种⽅法中的任何⼀种。有时候,使⽤临时变量会让代码更易读;⽽在其他情况下,这样做只会让代码⽆谓地变长。你⾸先应该考虑的是,编写清晰易懂且能完成所需功能的代码;等到审核代码时,再考虑采⽤更⾼效的⽅法。
3.对数字列表执⾏简单的统计计算
有⼏个专门⽤于处理数字列表的Python函数。例如,你可以轻松地出数字列表的最⼤值、最⼩值和总和:lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(lists))
print(max(lists))
print(sum(lists))
复制代码
注意:出于版⾯考虑,本节使⽤的数字列表都很短,但这⾥介绍的知识也适⽤于包含数百万个数字的列表。
4.列表解析
前⾯介绍的⽣成列表squares 的⽅式包含三四⾏代码,⽽列表解析让你只需编写⼀⾏代码就能⽣成这样的列表。列表析将for 循环和创建新元素的代码合并成⼀⾏,并⾃动附加新元素。⾯向初学者的书籍并⾮都会介绍列表解析,这⾥之所以介绍列表解析,是因为等你开始阅读他⼈编写的代码时,很可能会遇到它们。
下⾯的⽰例使⽤列表解析创建你在前⾯看到的平⽅数列表:squares = [value**2 for value in range(1,11)]
print(squares)
复制代码
要使⽤这种语法,⾸先指定⼀个描述性的列表名,如squares ;然后,指定⼀个左⽅括号,并定义⼀
个表达式,⽤于⽣成你要存储到列表中的值。在这个⽰例中,表达式为value**2 ,它计算平⽅值。接下来,编写⼀个for 循环,⽤于给表达式提供值,再加上右⽅括号。在这个⽰例中,for 循环为for value in range(1,11) ,它将值1~10提供给表达式value**2 。请注意,这⾥的for 语句末尾没有冒号,结果与你在
前⾯看到的平⽅数列表相同:
要创建⾃⼰的列表解析,需要经过⼀定的练习,但能够熟练地创建常规列表后,你会发现这样做是完全值得的。当你觉得编写三四⾏代码来⽣成列表有点繁复时,就应考虑创建列表解析
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论