用于循环列表的Python
我有一个初级Python问题。我想知道是否有可能从列表中获取for循环的结果,然后将其再次转换为列表。我有这样的代码用于循环列表的Python,python,list,for-loop,Python,List,For Loop,我有一个初级Python问题。我想知道是否有可能从列表中获取for循环的结果,然后将其再次转换为列表。我有这样的代码 for a in mylist: result = q.myfunction(a) print q, a 我希望此列表的结果可以用于在数据库中创建表。我正在Windows7上使用Python2.7。我已经阅读了python上for循环的文档,以及有关堆栈交换的问题,但我仍然感到困惑 这就是你想要的吗 [q.myfunction(a) for a in mylis
for a in mylist:
result = q.myfunction(a)
print q, a
我希望此列表的结果可以用于在数据库中创建表。我正在Windows7上使用Python2.7。我已经阅读了python上for循环的文档,以及有关堆栈交换的问题,但我仍然感到困惑 这就是你想要的吗
[q.myfunction(a) for a in mylist]
这叫做列表理解。这就是你想要的吗
[q.myfunction(a) for a in mylist]
这叫做列表理解。当然
只需打印
将内容输出显然不会将它们附加到列表中。但是调用列表上的append
方法就可以了,如本教程部分所述。例如:
mynewlist = []
for a in mylist:
result = q.myfunction(a)
print q, a
mynewlist.append(result)
如果您只想创建一个新的列表,而没有其他副作用,a会使它更简单。此代码:
mynewlist = [q.myfunction(a) for a in mylist]
…执行与上述相同的操作,但没有打印
确定
只需打印
将内容输出显然不会将它们附加到列表中。但是调用列表上的append
方法就可以了,如本教程部分所述。例如:
mynewlist = []
for a in mylist:
result = q.myfunction(a)
print q, a
mynewlist.append(result)
如果您只想创建一个新的列表,而没有其他副作用,a会使它更简单。此代码:
mynewlist = [q.myfunction(a) for a in mylist]
…执行与上述相同的操作,但不使用
打印
如果您习惯于使用for循环,则可以执行以下操作:
results = []
for a in mylist:
result = q.myfunction(a)
results.append(result)
然而,在python中这样做的惯用方法是使用所谓的列表理解。列表理解是从其他列表的元素生成新列表的一种方法。例如,以下内容的效果与上述For循环的效果完全相同
results = [q.myfunction(a) for a in mylist]
如果您习惯于使用for循环,则可以执行以下操作:
results = []
for a in mylist:
result = q.myfunction(a)
results.append(result)
然而,在python中这样做的惯用方法是使用所谓的列表理解。列表理解是从其他列表的元素生成新列表的一种方法。例如,以下内容的效果与上述For循环的效果完全相同
results = [q.myfunction(a) for a in mylist]
for循环的作用与列表理解不同。循环收集
(q,a)
,理解收集(result,a)
@Dunes:Ah,好观点。显然(q,a)
不是很有用,除非调用q.myfunction
只是为了产生副作用(在这种情况下,为什么要将结果存储在result
?);已编辑。for循环的作用与列表理解不同。循环收集(q,a)
,理解收集(result,a)
@Dunes:Ah,好观点。显然(q,a)
不是很有用,除非调用q.myfunction
只是为了产生副作用(在这种情况下,为什么要将结果存储在result
?);编辑。