python中如何计算列表中的元素数量

您所在的位置:网站首页 python统计列表元素 python中如何计算列表中的元素数量

python中如何计算列表中的元素数量

#python中如何计算列表中的元素数量| 来源: 网络整理| 查看: 265

创建数值列表需要存储一组数字的原因有很多,例如,在游戏中,需要跟踪每个角色的位置,还可能需要跟踪玩家的几个最高得分。在数据可视化中,处理的几乎都是由数字(如温度、距离、人口数量、经度和纬度等)组成的集合。列表非常适合用于存储数字集合,而Python提供了很多工具,可帮助你高效地处理数字列表。明白如何有效地使用这些工具后,即便列表包含数百万个元素,你编写的代码也能运行得很好。1.使用函数range()Python函数range() 让你能够轻松地生成一系列的数字。例如,可以像下面这样使用函数range() 来打印一系列的数字:

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

复制代码上述代码好像应该打印数字1~5,但实际上它不会打印数字5:

8398d6590b24c33c8b4efc75330d34f1.png

在这个示例中,range() 只是打印数字1~4,这是你在编程语言中经常看到的差一行为的结果。函数range() 让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值(这里为5)。要打印数字1~5,需要使用range(1,6) :

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

复制代码这样,输出将从1开始,到5结束:

37ed485c282faaea9b0fe16db5e7a707.png

使用range() 时,如果输出不符合预期,请尝试将指定的值加1或减1。2.使用range() 创建数字列表要创建数字列表,可使用函数list() 将range() 的结果直接转换为列表。如果将range() 作为list() 的参数,输出将为一个数字列表。在前一节的示例中,我们打印了一系列数字。要将这些数字转换为一个列表,可使用list() :

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

复制代码结果如下:

538eb52e9de5c5215deb741a4de16f68.png

使用函数range() 时,还可指定步长。例如,下面的代码打印1~10内的偶数:

even_numbers = list(range(2,11,2))print(even_numbers)

复制代码在这个示例中,函数range() 从2开始数,然后不断地加2,直到达到或超过终值(11),因此输出如下:

28c33fd208c4a5d7571c4be87e212d60.png

使用函数range() 几乎能够创建任何需要的数字集,例如,如何创建一个列表,其中包含前10个整数(即1~10)的平方呢?在Python中,两个星号(** )表示乘方运算。下面的代码演示了如何将前10个整数的平方加入到一个列表中:

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

复制代码首先,我们创建了一个空列表;接下来,使用函数range() 让Python遍历1~10的值。在循环中,计算当前值的平方,并将结果存储到变量square 中。然后,将新计算得到的平方值附加到列表squares 末尾。最后,循环结束后,打印列表squares :

071ad99f22ad9cb961be9d496cdbb0e2.png

为让这些代码更简洁,可不使用临时变量square ,而直接将每个计算得到的值附加到列表末尾:

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

复制代码

6700b53dbae96cb169f88fa0341a0d31.png

两种代码等效。在循环中,计算每个值的平方,并立即将结果附加到列表squares 的末尾。创建更复杂的列表时,可使用上述两种方法中的任何一种。有时候,使用临时变量会让代码更易读;而在其他情况下,这样做只会让代码无谓地变长。你首先应该考虑的是,编写清晰易懂且能完成所需功能的代码;等到审核代码时,再考虑采用更高效的方法。3.对数字列表执行简单的统计计算有几个专门用于处理数字列表的Python函数。例如,你可以轻松地找出数字列表的最大值、最小值和总和:

lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]print(min(lists))print(max(lists))print(sum(lists))

复制代码

317dd5d719f07b9fe0127041c8398381.png

注意:出于版面考虑,本节使用的数字列表都很短,但这里介绍的知识也适用于包含数百万个数字的列表。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 语句末尾没有冒号,结果与你在前面看到的平方数列表相同:

ac54a1f5e9ddced32ce644b7cd925ca4.png

要创建自己的列表解析,需要经过一定的练习,但能够熟练地创建常规列表后,你会发现这样做是完全值得的。当你觉得编写三四行代码来生成列表有点繁复时,就应考虑创建列表解析



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3