我想打印这个名单:
sublist=["a","b","c"]
primelist=[sublist,["d",1,"e"],sublist]
我想要这样打印:
a;b;c
d;1;e
a;b;c
这是我的代码:
for item in primelist:
print(";".join(item[0:]))
但是我收到了这个错误:
>>> print(";".join(item[0:]))
TypeError: sequence item 1: expected str instance, int found
注意:如果列表中的每个项目都是字符串,则没有问题
答案 0 :(得分:2)
问题是1
不是字符串。您可以使用map(str, v)
将列表v
中的每个项目转换为字符串来解决此问题:
>>> [";".join(map(str, v)) for v in primelist]
['a;b;c', 'd;1;e', 'a;b;c']
或者:
for v in primelist:
print ";".join(map(str, v))
结果:
a;b;c
d;1;e
a;b;c
答案 1 :(得分:1)
print primelist[1:-1]
可能就够了
或更可能
print ";".join(map(str,primelist))
答案 2 :(得分:1)
s = [1,2,3]
print ';'.join(i for i in map(str,s))
答案 3 :(得分:1)
问题出现在您的行print(";".join(item[0:]))
中。由于1不是["d', 1, "e"]
中的字符串,因此.join()函数失败。修复:
for item in primelist:
print(";".join(map(str, item)))