人工智能学习_pyhton编程语言学习_python操作列表

5 篇文章 0 订阅

学习如何遍历 整个列表, 这只需要几行代码, 无论列表有多长。 循环让你能够对列表的每个元素都采取一个或一系列相同的措施, 从而高效地处理任何长度的列表, 包括包含数千乃至数百万个元素的列表。

1 循环

下面使用for 循环

 magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)

在for 循环中, 想包含多少行代码都可以。 在代码行for magician in magicians 后面, 每个缩进的代码行都是循环的一部分, 且将针对列表中的每个值都执行一次。 因此, 可对列表中的每个值执行任意次数的操作。

magicians = ['alice', 'david', 'carolina']
for magician in magicians:
	print(magician.title() + ", that was a great trick!")
 	print("I can't wait to see your next trick, " + magician.title() + ".\n")

2 创建数值列表

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

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

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

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

在这个示例中, 函数range() 从2开始数, 然后不断地加2, 直到达到或超过终值(11) 。

对数字列表执行简单的统计计算
有几个专门用于处理数字列表的Python函数。 例如, 你可以轻松地找出数字列表的最大值、 最小值和总和:

>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> min(digits)
0>
>> max(digits)
9>
>> sum(digits)
45

3 切片

要创建切片, 可指定要使用的第一个元素和最后一个元素的索引。 与函数range() 一样, Python在到达你指定的第二个索引前面的元素后停止。 要输出列表中的前三个元素, 需
要指定索引0~3, 这将输出分别为0 、 1 和2 的元素。

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

遍历切片
如果要遍历列表的部分元素, 可在for 循环中使用切片.

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print("Here are the first three players on my team:")
for player in players[:3]:
   print(player.title())

4 复制列表

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

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
print("My favorite foods are:")
print(my_foods)
print("\nMy friend's favorite foods are:")
print(friend_foods)

在进行列表的赋值时有这样的一个问题需要注意

my_foods = ['pizza', 'falafel', 'carrot cake']
#这行不通
friend_foods = my_foods
my_foods.append('cannoli')
friend_foods.append('ice cream')
print("My favorite foods are:")
print(my_foods)
print("\nMy friend's favorite foods are:")
print(friend_foods)

这里将my_foods 赋给friend_foods , 而不是将my_foods 的副本存储到friend_foods (见❶) 。 这种语法实际上是让Python将新变量friend_foods 关联到包含在my_foods 中的列表, 因此这两个变量都指向同一个列表。 鉴于此, 当我们将’cannoli’ 添加到my_foods 中时, 它也将出现在friend_foods 中; 同样, 虽然’ice
cream’ 好像只被加入到了friend_foods 中, 但它也将出现在这两个列表中。输出表明, 两个列表是相同的, 这并非我们想要的结果:
My favorite foods are:
[‘pizza’, ‘falafel’, ‘carrot cake’, ‘cannoli’, ‘ice cream’]
My friend’s favorite foods are:
[‘pizza’, ‘falafel’, ‘carrot cake’, ‘cannoli’, ‘ice cream’]
根据以上的代码可以知道,变量直接赋值给另一个变量时,这两个变量指向的是通一个对象,操作一个变量的数据变化,另一个变量的数据也会变化,因为是同一个对象,通过切片式的赋值方法才会产生新的对象。所以在赋值的时候一定要根据实际的业务情况来决定到底使用哪种复制方式。

5 元组

列表非常适合用于存储在程序运行期间可能变化的数据集。 列表是可以修改的, 这对处理网站的用户列表或游戏中的角色列表至关重要。 然而, 有时候你需要创建一系列不可修改的元素, 元组可以满足这种需求。 Python将不能修改的值称为不可变的 , 而不可变的列表被称为元组 。
定义元组
元组看起来犹如列表, 但使用圆括号而不是方括号来标识。 定义元组后, 就可以使用索引来访问其元素, 就像访问列表元素一样。

dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值