【发布时间】:2020-04-22 18:44:33
【问题描述】:
TypeError: can only join an iterable
我正在尝试将整数列表转换为字符串。它向我显示了上述错误。我做错了什么?
预期输出:10,5,78
l=[10,5,78]
s=''
for i in l:
s=s.join(i)
print(s)
【问题讨论】:
-
正如错误信息所说,
s.join“只能加入一个可迭代对象”。i是可迭代的吗?不,它是一个整数,整数不能被迭代。你可以直接s = str(l)[1:-1],例如 -
l = [10,5,78]; ",".join([str(i) for i in l]) -
@VishalPallikonda,它将
l转换为字符串"[10, 5, 78]"并返回除了第一个(1)和最后一个(-1)字符(括号)之外的字符。[1:-1]语法称为 slicing -
如果你想用逗号分隔数字,你只需要
s = ''.join(str(_) for _ in l)或s = ','.join(str(_) for _ in l)。 -
@Tim,输出非常接近,不过(我 90% 确定空格在这里没有那么重要),并且很容易使其与所需的输出完全匹配:@987654334 @
标签: python python-3.x