将包含整数的列表列表转换为基于ascii值的字符串



如何将二维整数列表转换为基于ascii值的字符串?例如,我输入[[97,97,97],[98,98]],并且我希望输出为[aaa','bbb']

def to_string2(a):
for subarr in a:
for ele in subarr:
''.join(chr(i) for i in ele)

我有以下代码,我只是随机输入,看看我是否能找到一些工作,因为我不知道如何做。如果有任何帮助,我将不胜感激。

您可以使用列表理解:

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

会起作用。

嵌套两个.join就可以了。试试这个:
' '.join([''.join([str(el) for el in subarr]) for subarr in arr])

你做了太多的迭代

  • 在每个子列表for subarr in a上迭代
  • 迭代每个intfor ele in subarr
  • 不能迭代intfor i in ele
def to_string2(a):
result = []
for subarr in a:
result.append(''.join(chr(ele) for ele in subarr))
return result
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]]))

最新更新