AKM*_*AKM 255 python string list
我需要加入一个项目列表.列表中的许多项是从函数返回的整数值.即:
myList.append(munfunc())
Run Code Online (Sandbox Code Playgroud)
我应该如何将返回的结果转换为字符串,以便将其与列表连接?
我是否需要为每个整数值执行以下操作:
myList.append(str(myfunc()))
Run Code Online (Sandbox Code Playgroud)
是否有更多的Pythonic方法来解决铸造问题?
Mar*_*ers 480
调用str(...)是将事物转换为字符串的Pythonic方法.
您可能想要考虑为什么需要字符串列表.你可以改为保持其作为一个整数列表,只有整数转换为字符串时,你需要显示它们.例如,如果您有一个整数列表,那么您可以这样做:
print ', '.join(str(x) for x in list_of_ints)
Run Code Online (Sandbox Code Playgroud)
all*_*ode 143
我不太确定你的意思是"加入",因为你在问题中使用的语法非常糟糕,但如果我正确地理解了你的问题,那么将整数传递给str是没有错的.您可能不这样做的一个原因是myList实际上应该是一个整数列表,例如,对列表中的值求和是合理的.在这种情况下,在将它们附加到myList之前不要将你的int传递给str.如果在追加之前最终没有转换为字符串,可以通过执行类似的操作来构造一个大字符串
', '.join(map(str, myList))
Run Code Online (Sandbox Code Playgroud)
Pra*_*h N 39
可以使用python中的map函数.它需要两个参数.第一个参数是必须用于列表的每个元素的函数.第二个参数是可迭代的.
a = [1, 2, 3]
map(str, a)
['1', '2', '3']
Run Code Online (Sandbox Code Playgroud)
将列表转换为字符串后,您可以使用简单的连接函数将列表组合成单个字符串
a = map(str, a)
''.join(a)
'123'
Run Code Online (Sandbox Code Playgroud)
小智 10
a=[1,2,3]
b=[str(x) for x in a]
print b
Run Code Online (Sandbox Code Playgroud)
上面的方法是将列表转换为字符串的最简单,最通用的方法.另一个简短的方法是 -
a=[1,2,3]
b=map(str,a)
print b
Run Code Online (Sandbox Code Playgroud)
There are three ways of doing this.
let say you have a list of integers
my_list = [100,200,300]
Run Code Online (Sandbox Code Playgroud)
"-".join(str(n) for n in my_list)"-".join([str(n) for n in my_list])"-".join(map(str, my_list))但是,正如 Python 网站https://docs.python.org/2/library/timeit.html上的 timeit 示例中所述,使用地图更快。所以我建议你使用"-".join(map(str, my_list))