我正在尝试一些不同的方法来运行一些 for...in 循环。考虑一个列表列表:
list_of_lists = []
list = [1, 2, 3, 4, 5]
for i in range(len(list)):
list_of_lists.append(list) # each entry in l_o_l will now be list
现在假设我想让 l_o_l 的第一个“列”包含在一个单独的列表中,a
. 我有几种方法可以解决这个问题。例如:
a = [list[0] for list in list_of_lists] # this works (a = [1, 1, 1, 1, 1])
或者
a=[]
for list in list_of_lists:
a.append(hit[0]) #this also works
但是,对于第二个示例,我认为“完整”扩展等效于
a=[]
a.append(list[0] for list in list_of_lists) #but this, obviously, produces a generator error
实际上,有效的“翻译”是
a=[]
a.append([list[0] for list in list_of_lists]) #this works
那么,我的问题是关于解释和标点符号。Python如何“知道”附加/确实在“list [0] for list in list_of_lists”扩展中附加列表括号(因此在任何重写中都需要它)?