[英]Create a list within a list comprehension
我该如何做:
[char for line in grid for i,char in enumerate(line) if len(line[i:])>3]
返回符合条件的每一行的字符列表:
[[char for line in grid] for i,char in enumerate(line) if len(line[i:])>3]
#NameError:未定义名称'line'
我猜你在找-
[[char for i,char in enumerate(line) if len(line[i:])>3] for line in grid]
您应该在列表中移动第二个for循环和条件,而不是第一个。 当没有列表时,执行的顺序是-首先是循环- for line in grid
->第二是循环- for i,char in enumerate(line)
。
上面的代码将保留该顺序,并为满足您条件的每一行创建一个字符作为单独的列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.