Python list的双循环列表推导

Love The Way You Lie 2022-11-27 00:49 293阅读 0赞
  1. 最近看了一句代码,list列表里有一个双循环,刚开始看的有点绕,后来才看明白,觉得有点意思,学些一下。就是如下面代码中的给y的赋值,常见的列表推导是:
  2. x = [i for i in range(10)]
  3. 但加了两个循环,第一次没看懂,仔细思考了一下才明白。

代码如下:

  1. x = [["a","b","c"],["b","e"],["a","d"]]
  2. y = list(set([i for j in x for i in j]))
  3. print([i for j in x for i in j])
  4. print(y)
  5. 先看下\[i for j in x for i in j\] 结果是:
  6. ['a', 'b', 'c', 'b', 'e', 'a', 'd']
  7. 后面的y 就是对列表中的元素进行去重操作,其实,就是一个嵌套循环,只不过用列表推导的方式实现。

可以分两步看:
第一步:for j in x,将 x中的每个list取出来
第二步:for i in j, 将前步取出来的每个list再遍历,将每个元素取出来

发表评论

表情:
评论列表 (有 0 条评论,293人围观)

还没有评论,来说两句吧...

相关阅读