我想将我的整数列表转换为字符串。以下是我创建整数列表的方式:
new = [0] * 6
for i in range(6):
new[i] = random.randint(0,10)
就像这样:
new == [1,2,3,4,5,6]
output == '123456'
通过将字符列表转换为字符串,你只需执行以下操作:
''.join(map(str,new))
map
的人,可以使用 ''.join([str(x) for x in new])
。 - chepner''.join(str(random.randint(0, 10)) for i in range(10))
。 - Chinmay Kanchi肯定有更好的方法来做到这一点,但下面是非常直接的做法:
mystring = ""
for digit in new:
mystring += str(digit)
有两种简单的方法来实现这个:
"".join(map(str, A))
"".join(str(a) for a in A)
array
模块并使用以下方法:from array import array
array('B', new).tobytes()
b'\n\t\x05\x00\x06\x05'
'B'
)。然后将该数组转换为字符串作为二进制数据结构,因此输出不会像您期望的那样(您可以使用 decode()
解决此问题)。然而,这应该是最快的整数转字符串转换方法之一,并且应该能节省一些内存。另请参阅文档和相关问题:
https://www.python.org/doc/essays/list2str/
map()
:new = [1, 2, 3, 4, 5, 6]
output = "".join(str(i) for i in new)
# '123456'
str.join()
接受一个 可迭代对象,因此不需要将参数转换为 list
。for int in list:
string += str(int)
new = [ random.randint(0,10) for i in range(6) ]
。 - chepner