嘿我写了一个包含多个列表的python代码(python 2.7.3),但是当我尝试打印它们时,它们总是带有空格。我想以连续的方式打印列表,但我无法这样做。我有一个列表有整数值,其他列表有字符。
例如:list1(整数列表有123)和list2(字符列表有ABC)。
所需输出:ABC123
我得到了什么:ABC 123
我做了什么:
print "".join(list2),int("".join(str(x) for x in list1))
有什么建议我做错了吗?
答案 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()
函数,在以后使用此语句 模块的顶部