Python列表推导式
python列表推导式
昨天python课上老师进行了随堂小测,可能是好久没写过了,其中有一道题让我觉得自己错得特别不应该,题目是这样的:
dlist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
alist = [__ for x in __]
print(a_list)
输出为:[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
一眼看上去很是简单(可能除了我以外的人仔细看也是很简单),觉得不过是列表推导式而已,但当时自己就是脑袋不太灵光,死活没想出来要怎么写,觉得不套循环怎么都写不好,但又因为要占平时成绩,拼死拼活从脑子里挤出一点东西,代码如下:
1 | d_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] |
交上去之后越想越觉得自己蠢,不说自己写的这种列表推导式麻烦,老师想让我写的也肯定不是这样的,于是赶紧查找资料把列表推导式重新看了一下。
嵌套列表推导式
嵌套列表推导式看起来有些复杂,推导部分是根据嵌套的顺序进行执行,过滤条件仍放在推导式最后,就如上题的正确写法如下
1 | d_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] |
当然,即使是现在我也还不是很熟练嵌套列表推导式的实际应用,这只是我在python学习中遇到的一点困惑,故分享出来。
如有更深入的学习要求,可以参考以下文章:Python列表推导式和嵌套的列表推导式。这里由于个人水平不佳,故不多赘述。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 苎夏星染的个人blog!
评论