允许在“列表列表”中使用理解列表? 我想从嵌套列表中提取一个列表。 我试过这个:
def main():
a = ['1','2','3']
b = ['4','5','6']
c = ['7','8','9']
board = [a,b,c]
y = [x for x in board[1][i] if i in range(0,3)]
print y
但我得到“NameError:名称'我'未定义”。 我使用了错误的语法或嵌套列表不能像这样使用?
非常感谢!
答案 0 :(得分:2)
在列表推导中嵌套循环的工作方式与嵌套常规for循环的方式相同,一个在另一个内部:
y = [x for i in range(3) for x in board[1][i]]
但在这种情况下,只选择board[1][:]
会更容易,并给你相同的结果;中间一行的副本。
如果您需要将表达式应用于该行中的每一列,那么只需直接遍历board[1]
:
y = [foobar(c) for c in board[1]]