在Python中打印多个列表

1 投票
5 回答
2047 浏览
提问于 2025-04-18 12:19

嘿,我写了一个Python代码(版本是2.7.3),里面用了多个列表。但是当我试着打印这些列表的时候,它们总是会有一个空格。我想把列表打印得连在一起,但我做不到。我有一个列表是整数值,另一个是字符。

比如:列表1(整数列表包含123)和列表2(字符列表包含ABC)。

我想要的输出是:ABC123

但我得到的是:ABC 123

我做了什么:

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

有没有建议我哪里做错了?

5 个回答

-1

print 在输出时会自动在逗号之间加一个空格。

你可以使用新的打印函数:

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

详细信息可以查看 文档

注意:这个函数通常不是内置的,因为 print 这个名字被视为打印语句。要禁用这个语句并使用 print() 函数,你需要在模块的顶部加上这个未来声明。

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
1

这个空格是因为 print 这个语句的原因。它会在用逗号分隔的项目之间自动加一个空格。我想你不需要把连接起来的字符串转成整数,然后你可以用 join 把字符串连接起来,最后一起打印出来。

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

另外,你也可以换成 Python 3 的 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="")
3
l = ["A","B","C"]
l2 = [1,2,3]
print "".join(l+map(str,l2))
ABC123

map这个函数会把所有的int(整数)转换成str(字符串),这就跟你用[str(x) for x in l2]这样的写法是一样的。

0

试着在打印的时候把你想要的两个列表连接起来。用“+”代替“,”。这里用'int'会出错,因为你只能连接字符串。所以试试这个:

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

撰写回答