我有一个返回字符串的函数。我想要做的是获取这些字符串并将其保存到列表中。我怎么能这样做?
for i in objects:
string = getstring(i)
x = 0
list[x] = string
x = x+1
答案 0 :(得分:3)
在这种情况下最好使用列表推导,
my_list = [getstring(obj) for obj in objects]
我们不是创建列表并在其中存储字符串,而是根据objects
中的对象创建字符串列表。您也可以使用map
函数执行相同的操作
my_list = map(getstring, objects)
这将获取objects
中的每个项目,并将getstring
函数应用于它们。所有结果都收集在一个列表中。如果您使用的是Python 3.x,那么您可能想要
my_list = list(map(getstring, objects))
由于不首选使用map
,因此请尽可能使用列表理解。引自BDFL's blog,
奇怪的是,最初促使引入
map
和其他功能特征的filter
,reduce
和lambda
函数在很大程度上已被列表推导所取代和生成器表达式。
答案 1 :(得分:2)
您应首先声明列表:
L = []
然后,在for
循环中,您可以向其追加项目:
for i in objects:
string = getstring(i)
L.append(string)