我该怎么做:
[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'未定义
答案 0 :(得分:0)
我猜你正在寻找 -
[[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)
。
以上将保留该顺序,并为符合条件的每一行创建一个字符作为单独的列表。