我想将整数从0转换为9到字符串。我能够通过手动转换每个数字来做到这一点:
str(1) = a
str(2) = b
...一路直到9.但是,这很慢,而且代码看起来不是很pythonic。我希望看到更快的代码解决方案,例如将所有这些数字放入列表中,然后将列表中的每个元素转换为字符串。我知道要列表,我应该这样做:
a = range(0,10)
但是,我不知道如何将列表中的int转换为字符串。在此先感谢您的帮助。
答案 0 :(得分:3)
您可以使用map()
将str()
应用于数组中的每个值:
a = map(str, range(0, 10))
答案 1 :(得分:2)
使用列表理解。
[str(i)for i in range(10)]
答案 2 :(得分:2)
您可以使用map
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']
答案 3 :(得分:0)
这是另一个答案:
a = map(chr, range(48, 58))
print a
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
这是chr的文档字符串,它解释了我的所作所为:
Docstring:
chr(i) -> character
Return a string of one character with ordinal i; 0 <= i < 256
如果你只是叫chr(48)你会得到'0',chr(49)='1'等等......
答案 4 :(得分:0)
如果需要将整数列表转换为字符串字符串,可以执行以下操作:
a = 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'>
如果您有许多需要在单独数据库中作为字符串类型查询的整数类型,这可能很有用。
答案 5 :(得分:0)
n = [0,1,2,3,4]
n = map(str,n)
n = list(n)
print(n)
Output:
n = ['0','1','2','3','4']