python操作列表[第 4 章(上)]

 

目录

 

4.1 遍历整个列表

4.2 避免缩进错误

4.3 创建数值列表

4.4 使用列表的一部分

4.5 元组

4.6 设置代码格式

4.7 小结


 

4.1 遍历整个列表

我们经常需要遍历列表的所有元素,对每个元素执行相同的操作

为此我们可以编写循环代码, 来对列表中的每个元素执行相同的操作:

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

在第二行中,我们使用了 for 关键字定义了一个循环体

它能让 Python 从列表 magicians 中依次取出一个个名字,并将取出的名字与变量 magician 相关联

在第三行中,我们打出了四个空格作为缩进(indentation)

然后,让 Python 打印前面赋给变量 magician 的名字

bad29e7c510b45519f5f05f6113bd2ad.png

4.1.1 深入研究循环

仔细看看这段循环代码, magician 是一个临时变量

for magician in magicians:
    print(magician)

35b6b0d8416747409eb0c392ff72e846.png

2fa46c0ffbdd4b45aac4caa7ac5dc1cf.png

6a8839b2ced44a7aa151f15b5ad9c364.png

14948a0a7a904d0c92a43773c6503b8d.png

b3c2835eeb9a437ca86c2adb71f0378a.png

081395e1e83f4f729015e72aff9eed4d.png

 

临时变量的名称可以任意指定:

for a in cats:
for b in dogs:
for c in list_of_items:

含义不清晰?

for cat in cats:
for dog in dogs:
for item in list_of_items:


名称的含义清晰了很多

4.1.2 在 for 循环中执行更多的操作

在 for 循环中,可以对每个元素执行任意操作 只要保持缩进,我们可以在 for 循环中放入多行语句 我们来看一看些许复杂的例子:

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

 

在 for 循环中,可以对每个元素执行任意操作 只要保持缩进,我们可以在 for 循环中放入多行语句

0ee94a8f88934830b0e4ab20bfeabef1.png

4.1.3 在 for 循环结束后执行一些操作

我们可以在 for 循环结束后,提供一个总结性输出,或接着执行程序必须完成的其他任务 例如我们可以打印一条向全体魔术师致谢的消息,以感谢他们的精彩表演:

magicians = ['alice', 'david', 'carolina']for magician in magicians:
    print(f"{magician.title()}, that was a great trick!")
    print(f"I can't wait to see more, {magician.title()}.\n")
print("Thank you, everyone. That was a great magic show!")

                            97953f2344554593bf65e46173edac99.png

 

4.2 避免缩进错误

没有正确的缩进

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

 

缩进错误(IndentationError)

cca7a3330de148fb82c2d31a91ecb705.png

忘记缩进额外的代码行

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

逻辑错误

循环后不必要的缩进

magicians = ['alice', 'david', 'carolina']for magician in magicians:
    print(f"{magician.title()}, ...!")
    print(f"I can't wait to see more, {magician.title()}.\n")
    print("Thank you everyone, that was a great magic show!")

逻辑错误

循环的末尾漏掉了冒号

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

语法错误(SyntaxError)

4.3 创建数值列表

range([start,] end [,step]):生成可迭代的数值列表的表示。

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

代码只打印了数 1 ~ 4, 这是编程语言中常见的差一行为,输出在指定的第二个值处停止了。 要打印数 1 ~ 5,需要使用 range(1, 6) 第一个参数 start 是可选的: 例如 range(6) 将会打印数 0 ~ 5

3d2f6b4d7204426c8cdfc81df9bd91fb.png

我们可以创建一个空列表, 然后将计算后的数添加到其中。 为了代码的清晰简单, 中间结果未用临时变量存储

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

8e36b0df2a034746b510bfe77ebce212.png

4.3 列表推导式(list comprehension)
类似于之前使用循环添加元素的代码, 我们还可以利用列表推导式直接生成列表:

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


运行的结果是相同的:

d1aafdb2fc6c4beaaf1636fff35a50f1.png

暂时不理解没关系, 不妨多多对比练习

4.3 数值列表的简单统计计算
max(lst):取数值列表中的最大值。

min(lst):取数值列表中的最小值。

sum(lst):对数值列表执行求和计算。

digits = [1, 2, 3, 4, 5]
print(min(digits))
print(max(digits))
print(sum(digits))

cea32777a445440f974eef56170861a0.png

试试创建更多元素再执行统计

 

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值