如何根據 ascii 值將二維整數串列轉換為字串?例如,我輸入 [ [97,97,97], [98,98,98] ] 我希望輸出為 ['aaa', 'bbb']
def to_string2(a):
for subarr in a:
for ele in subarr:
''.join(chr(i) for i in ele)
我有以下代碼,我只是隨機輸入這些代碼,只是為了看看我能不能得到一些作業,因為我不知道如何去做。任何幫助將不勝感激。
uj5u.com熱心網友回復:
您可以使用串列理解:
lst = [[97,97,97], [98,98,98]]
output = [''.join(map(chr, sublst)) for sublst in lst]
print(output) # ['aaa', 'bbb']
您的代碼有過多的for回圈:
output = []
for sublst in lst:
output.append(''.join(chr(i) for i in sublst))
會作業。
uj5u.com熱心網友回復:
嵌套兩個.join應該可以完成這項作業。嘗試這個:
' '.join([''.join([str(el) for el in subarr]) for subarr in arr])
uj5u.com熱心網友回復:
你做了太多的迭代
- 遍歷每個子串列
for subarr in a - 遍歷每個 int
for ele in subarr - !!!你不能迭代 int
for i in ele
def to_string2(a):
result = []
for subarr in a:
result.append(''.join(chr(ele) for ele in subarr))
return result
uj5u.com熱心網友回復:
def to_string2(a):
return ["".join([chr(i) for i in subarr]) for subarr in a]
print(to_string2([[97,97,97], [98,98,98]]))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/516738.html
