在Python中打印两个数字的数字串联

时间:2012-02-27 21:17:33

标签: python python-3.x concatenation

有没有办法在Python中连接数字,假设我有代码

print(2, 1)

我想要它打印21,而不是2 1,如果我使用“+”,它会打印3.有没有办法做到这一点?

10 个答案:

答案 0 :(得分:9)

使用字符串格式化运算符:

print "%d%d" % (2, 1)

编辑:在Python 2.6+中,您还可以使用字符串的format()方法:

print("{0}{1}".format(2, 1))

答案 1 :(得分:8)

您可以将整数转换为字符串:

print(str(2)+str(1))

答案 2 :(得分:8)

您可以更改打印功能使用的分隔符:

print(2, 1, sep="")

如果您使用的是python2.x,则可以使用

from __future__ import print_function

位于文件顶部。

答案 3 :(得分:6)

如果您有大量数字,请使用str.join() + map()

print(''.join(map(str, [2,1])))

否则为什么不简单地做:

print(2*10+1)

答案 4 :(得分:5)

这是因为2和1是整数,而不是字符串。一般来说,如果你想在除打印之外的任何上下文中执行此操作,则必须先将它们转换为字符串。例如:

myNumber1 = ...
myNumber2 = ...
myCombinedNumberString = str(myNumber1)+str(myNumber2)

在打印的背景下,你更愿意做Rafael在答案中建议的内容(字符串格式操作符)。我个人会这样做:

print( '{}{}'.format(2,1) )

答案 5 :(得分:3)

如果您使用python 3.x或2.7,请使用format

print("{0}{1}".format(2, 1))

答案 6 :(得分:2)

>>> import sys
>>> values = [1, 2, 3, 4, 5]
>>> for value in values:
        sys.stdout.write(str(value))
12345

答案 7 :(得分:0)

如果我们不想将其转换为字符串。

val = [1,2,3,4] reduce(lambda x,y:x * 10 + y,val)

或获得结果后。将其转换回Integer。

答案 8 :(得分:0)

df = pd.read_csv("/content/drive/MyDrive/kaggle/artist/images/images.csv")

print(f'{2}{1}') 

OP 使用的格式。 这是21 [Program finished]

答案 9 :(得分:-1)

只需使用

c="2"+"1"
print(c)

它会给你21