为了账号安全,请及时绑定邮箱和手机立即绑定

Python 入门系列 —— 15. List 四种遍历方式及推导式介绍

标签:
Python

使用 for 遍历 List

可以使用 for 来遍历 List,代码如下:


thislist = ["apple", "banana", "cherry"]
for x in thislist:
  print(x)

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
apple
banana
cherry

使用 index 遍历 List

除了直接使用 for 遍历,还可以组合 range() + len() 使用下标进行遍历,如下代码所示:


thislist = ["apple", "banana", "cherry"]
for i in range(len(thislist)):
  print(thislist[i])

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
apple
banana
cherry  

使用 while 遍历 List

使用 len() 来判断 list 的长度,然后从索引0 开始遍历 list 中的每一项,不过要记得在遍历时自增 index,如下代码所示:


thislist = ["apple", "banana", "cherry"]
i = 0
while i < len(thislist):
  print(thislist[i])
  i = i + 1

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
apple
banana
cherry

使用 推导式 遍历 List

使用 python 独有的 推导式 直接快捷遍历 List。


thislist = ["apple", "banana", "cherry"]
[print(x) for x in thislist]

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
apple
banana
cherry

List 推导式

当你想要从一个现有的 List 中生成一个新的 List,可以使用 推导式 这种快捷语法。

举个例子:

比如你有一个 fruits 列表,你想获取所有以 a 开头的水果名,如果没有推导式的话,只能像下面这样写。


fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []

for x in fruits:
  if "a" in x:
    newlist.append(x)

print(newlist)

PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
['apple', 'banana', 'mango']

要是用 推导式 的话,只要一行代码就可以搞定,如下代码所示:


fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "a" in x]

print(newlist)


PS E:\dream\markdown\python> & "C:/Program Files (x86)/Python/python.exe" e:/dream/markdown/python/app/app.py
['apple', 'banana', 'mango']

语法分析

语法格式如下: newlist = [expression for item in iterable if condition == True] 。可以看出,返回值是一个新的 list,同时也不会破坏原有的list。

condition

语法格式中的 condition,用于保留枚举项判断为 true 的元素,非 true 就忽略了,

iterable

iterable 表示可迭代的集合,如: list,tuple,set 等等。

expression

这里的 expression 就是当前的迭代变量值,在这个迭代项准备送入到新集合前,可以对它进行操控,比如下面的例子:


newlist = [x.upper() for x in fruits]

更多高质量干货:参见我的 GitHub: github.com/ctripxchuang/python

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消