在python中打印多个列表

时间:2014-07-07 09:50:16

标签: python python-2.7

嘿我写了一个包含多个列表的python代码(python 2.7.3),但是当我尝试打印它们时,它们总是带有空格。我想以连续的方式打印列表,但我无法这样做。我有一个列表有整数值,其他列表有字符。

例如:list1(整数列表有123)和list2(字符列表有ABC)。

所需输出:ABC123 我得到了什么:ABC 123

我做了什么:

print "".join(list2),int("".join(str(x) for x in list1))

有什么建议我做错了吗?

5 个答案:

答案 0 :(得分:3)

l = ["A","B","C"]
l2 = [1,2,3]
print "".join(l+map(str,l2))
ABC123

map将所有ints投放到str,这与执行[str(x) for x in l2]相同。

答案 1 :(得分:1)

空间来自print声明。它会自动在用逗号分隔的项之间插入空格。我想你不需要将连接的字符串转换为整数,然后连接join的字符串并将它们打印为一个。

print "".join(list2)+"".join(str(x) for x in list1)

或者,您可以切换到python3' print函数,并使用其sep变量。

from __future__ import print_function
letters=['A','B','C']
nums=[1,2,3]
print("".join(letters),int("".join(str(x) for x in nums)), sep="")

答案 2 :(得分:0)

,正在添加空格,因为您要打印两个字符串,即字符串' ABC'和整数123.尝试使用+,它直接将两个字符串相加,这样就可以打印字符串' ABC123'

>>> list1=[1,2,3]
>>> list2=['A','B','C']
>>> print "".join(list2),int("".join(str(x) for x in list1))
ABC 123
>>> print "".join(list2)+"".join(str(x) for x in list1)
ABC123

答案 3 :(得分:0)

尝试在打印时连接所需的两个列表。使用“+”代替“,”。 这里'int'会给出错误,因为你只能连接字符串。所以试试,

 print "".join(list2)"".join(str(x) for x in list1)

答案 4 :(得分:-1)

print会在逗号之间自动添加单个空格。

您可以使用新的打印功能:

from __future__ import print_function 
print("".join(list2),int("".join(str(x) for x in list1)), sep="")

请参阅docs

  

注意:此功能通常不作为内置功能提供,因为   名称print被识别为print语句。要禁用   语句并使用print()函数,在以后使用此语句   模块的顶部