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]