我想将从0到9的整数转换为字符串。我可以通过手动转换每个数字来实现,就像这样:
str(1) = a
str(2) = b
一直到9的所有数字。然而,这很慢,代码看起来也不是很pythonic。我希望看到一个更快速的编码解决方案,例如将所有这些数字放入一个列表中,然后将列表中的每个元素转换为字符串。我知道要创建该列表应该这样做:
a = range(0,10)
然而,我不知道如何将列表中的整数转换为字符串。提前感谢您的帮助。
我想将从0到9的整数转换为字符串。我可以通过手动转换每个数字来实现,就像这样:
str(1) = a
str(2) = b
一直到9的所有数字。然而,这很慢,代码看起来也不是很pythonic。我希望看到一个更快速的编码解决方案,例如将所有这些数字放入一个列表中,然后将列表中的每个元素转换为字符串。我知道要创建该列表应该这样做:
a = range(0,10)
然而,我不知道如何将列表中的整数转换为字符串。提前感谢您的帮助。
map()
将str()
应用于数组中的每个值:a = map(str, range(0, 10))
使用列表推导式:
[str(i) for i in range(10)]
a = range(0,10)
print(list(map(str,a))) # <- python 3
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
a = xrange(0,10)
print(map(str,a)) # <- python 2
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
xrange
更好。 - Padraic Cunninghama = range(0,10)
print "'" + "','".join((map(str,a))) + "'"
'0','1','2','3','4','5','6','7','8','9'
print type("'" + "','".join((map(str,a))) + "'")
<type 'str'>
这里是另一个答案:
a = map(chr, range(48, 58))
print a
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
Docstring:
chr(i) -> character
Return a string of one character with ordinal i; 0 <= i < 256
n = [0,1,2,3,4]
n = map(str,n)
n = list(n)
print(n)
Output:
n = ['0','1','2','3','4']
1 = a
,2 = b
? - Beginner