python打印一个没有括号的整数和字符串列表

时间:2015-04-17 22:43:17

标签: python list

我想打印这个名单:

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

注意:如果列表中的每个项目都是字符串,则没有问题

4 个答案:

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