将字符串保存到列表中

时间:2014-07-02 05:48:07

标签: python string list

我有一个返回字符串的函数。我想要做的是获取这些字符串并将其保存到列表中。我怎么能这样做?

for i in objects:
    string = getstring(i)
    x = 0
    list[x] = string
    x = x+1

2 个答案:

答案 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和其他功能特征的filterreducelambda函数在很大程度上已被列表推导所取代和生成器表达式。

答案 1 :(得分:2)

您应首先声明列表:

L = []

然后,在for循环中,您可以向其追加项目:

for i in objects:
    string = getstring(i)
    L.append(string)