join与Python具有Integer值的列表

我需要join一个项目列表。 列表中的许多项目是从函数返回的整数值。 即:

myList.append(munfunc()) 

我应该如何将返回的结果转换为一个string,以便与列表结合?

我是否需要为每个整数值执行以下操作:

 myList.append(str(myfunc()) 

是否有更多的Pythonic方法来解决铸造问题?

调用str(...)是将某些东西转换为string的Pythonic方法。

你可能要考虑为什么你想要一个string列表。 你可以把它保留为一个整数列表,只需要将整数转换为string,当你需要显示它们。 例如,如果你有一个整数列表,那么你可以这样做:

 print ', '.join(str(x) for x in list_of_ints) 

我不太清楚“join”是什么意思,因为你在问题中使用的语法是非常糟糕的,但是如果我正确地理解了你的问题,那么把整数传给str是没有问题的。 你可能不这样做的一个原因是,myList实际上应该是一个整数列表,例如,将列表中的值相加是合理的。 在这种情况下,请不要将您的整数传递给str,然后再将它们附加到myList。 如果在追加之前最终没有转换为string,则可以通过执行类似的操作来构造一个大的string

 ', '.join(map(str, myList)) 

python中的map函数可以使用。 它有两个参数。 第一个参数是必须用于列表的每个元素的函数 。 第二个参数是可迭代的

 a = [1, 2, 3] map(str, a) ['1', '2', '3'] 

将列表转换为string后,可以使用简单的连接函数将列表合并为单个string

 a = map(str, a) ''.join(a) '123' 
 a=[1,2,3] b=[str(x) for x in a] print b 

上面的方法是将列表转换为string的最简单最普遍的方法。 另一个简短的方法是 –

 a=[1,2,3] b=map(str,a) print b 

你的问题相当清楚。 也许你正在寻找扩展,将另一个列表的所有元素添加到现有的列表:

 >>> x = [1,2] >>> x.extend([3,4,5]) >>> x [1, 2, 3, 4, 5] 

如果要将整数转换为string,可以使用str()或string插值,可能与列表理解相结合

 >>> x = ['1', '2'] >>> x.extend([str(i) for i in range(3, 6)]) >>> x ['1', '2', '3', '4', '5'] 

所有这些都被认为是pythonic(好吧,生成器expression式更pythonic,但让我们保持简单和主题)

也许你不需要数字作为string,只是:

 functaulu = [munfunc(arg) for arg in range(loppu)] 

后来,如果你需要它作为string,你可以用string或格式string:

print "Vastaus5 = %s" % functaulu[5]