python操作列表元素【列表元素创建方式】

327次阅读
没有评论

python操作列表元素【列表元素创建方式】

一、创建数值列表

要存储一组数的原因有很多,在数据可视化中,处理的几乎是由数(如温度、距离、人口数量、经度和纬度)组成的集合。

列表非常适合用于存储数字的集合,而Python提供了很多工具,可以帮助你提高数据列表。

1.使用函数range()

python函数range()让你能够轻松地生成一系列数,使用range()函数打印一系列数。

具体代码,如下所示:

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

在这个示例中,range ()函数只打印数1-4,这是编程语言中差一行的结果。函数range()让Python从指定的第一个值开始,并到达你指定的第二个数停止。因为它在第二个值处停止,所以输出不包含该值。

要打印数1-5,需要使用range(1, 6)

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

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

要创建数字列表,可以使用函数list()将range()的结果直接转换为列表。如果将range()作为list()的参数,输出将是一个数字列表。

具体代码,如下所示:

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

运行结果,如下所示:

[1, 2, 3, 4]

使用range()函数时,还可以指定步长。为此,可以给这个函数指定三个参数,Python将根据这个步长来生成数。

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

运行结果,如下所示:

[2, 4, 6, 8, 10]

使用range()几乎可以创建任何需要的数集。例如,创建一个列表,其中包含前10个整数(1-10)的平方?在Python中,用两个(**)表示乘方运算。

具体代码,如下所示:

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

这段代码,首先创建一个空的列表,接下来使用range()函数,让Python遍历1-11的值。在循环中,计算当前值的平方,并将结果赋值给变量square,然后将计算得到的平方值,附加到列表squares中。

当然,上面的代码也可以这样写:

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

运行结果,如下所示:

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

运行上面的两段代码,你会发现它们的运行结果是相同的。

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

有几个专门处理数字列表的函数。例如,你可以轻松的找出数字列表的最大值、最小值和总和。

具体代码,如下所示:

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

min_digit = min(digits)
max_digit = max(digits)
sum_digit = sum(digits)

print('min_digit:',min_digit, '\nmax_digit:',max_digit, '\nsum_digit:',sum_digit)

运行结果,如下所示:

min_digit: 1
max_digit: 100
sum_digit: 385

min()函数:返回列表的最小值

max()函数:返回列表的最大值

sum()函数:返回列表的总和

二、使用列表的一部分

要处理列表的所有元素,可以使用for循环可以轻松解决。当然我们也可以处理列表的部分元素,Python称之为切片。

1.切片

要创建切片,可以指定第一个元素和最后一个元素的索引。与函数range()一样,Python到达第二个索引之前的元素就会停止。要输出列表中的前三个元素,只需要指定索引0和索引3,这样返回的元素有索引0、1和2

具体代码,如下所示:

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])

运行结果,如下所示:

['charles', 'martina', 'michael']

注意:

如果没有指定第一个索引,Python将自动从列表的开头开始

如果没有指定最后一个索引,Python将自动取到列表的末尾

具体代码,如下所示:

player = ['charles', 'martina', 'michael', 'florence', 'eli']
print(player[:3])
print(player[2:])

运行结果,如下所示:

['charles', 'martina', 'michael']
['michael', 'florence', 'eli']

2.复制列表

我们经常需要根据既有的列表创建全新的列表。下面来介绍一下复制列表的工作原理。

要复制列表,可以创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。这让Python创建一个始于第一个元素,终于最后一个元素的切片,即整个列表的副本。

具体代码,如下所示:

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
print(my_foods)
print(friend_foods)

print("\n my friend's favorite foods are:")
print(friend_foods)

首先创建了一个食品列表,名为my_food。然后创建一个名为friend_foods的新列表。在不指定任何索引的情况下,从列表my_foods中提取切片,从而创建这个列表的副本,并副本赋给变量friend_foods。

运行结果,如下所示:

['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake']

 my friend's favorite foods are:
['pizza', 'falafel', 'carrot cake']

从上面的运行结果可以看出,两个列表打印的内容是相同的。

为了核实有两个列表,下面在每个列表中都添加一种食品。

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]

my_foods.append('cannoli')
friend_foods.append('ice cream')

print(my_foods)
print(friend_foods)

运行结果,如下所示:

['pizza', 'falafel', 'carrot cake', 'cannoli']
['pizza', 'falafel', 'carrot cake', 'ice cream']

你会看到两个列表分别被添加了一种食品。

因此,很明确,这就是两个不同的列表。

如果只是将my_foods赋值给friend_foods,就不能得到两个列表。

具体代码,如下所示:

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods

my_foods.append('cannoli')
friend_foods.append('ice cream')

print(my_foods)
print(friend_foods)

运行结果,如下所示:

['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']
['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']

通过以上代码,您可以看到,实际上我为两个列表分别添加了一个元素,但打印出来的结果是两个列表都添加了两个元素。

因为当我的复制方法不是slick,而是直接给变量赋值时,两个列表便指向了同一个地址,所以你也可以理解friend_foods和my_foods实际上是同一个列表。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-04发表,共计3435字。
新手QQ群:570568346,欢迎进群讨论 Python51学习