簡體   English   中英

如何將列表中的整數轉換為python中的字符串

[英]How to convert integers in list to string in python

我想將整數從 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']

這是另一個答案:

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' 等等......

如果您需要將整數列表轉換為字符串字符串,您可以這樣做:

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'>

例如,如果您有許多整數類型需要在單獨的數據庫中作為字符串類型進行查詢,這會很有用。

n = [0,1,2,3,4]
n = map(str,n)
n = list(n)
print(n)

Output:
n = ['0','1','2','3','4']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM