在python中连接字符串和整数

时间:2012-07-19 10:41:07

标签: python concatenation string-concatenation

在python中说你有

s = "string"
i = 0
print s+i

会给你错误 所以你写了

print s+str(i) 

没有得到错误。

我认为这是处理int和字符串连接的一种笨拙的方式。 甚至Java也不需要显式转换为String来进行此类排序 连接。 有没有更好的方法来进行这种连接,即在Python中没有显式转换?

8 个答案:

答案 0 :(得分:156)

现代字符串格式:

"{} and {}".format("string", 1)

答案 1 :(得分:81)

没有字符串格式:

>> print 'Foo',0
Foo 0

答案 2 :(得分:34)

字符串格式,使用新式.format()方法(默认值为.format()提供):

 '{}{}'.format(s, i)

或更老,但“仍然坚持”,% - 格式化:

 '%s%d' %(s, i)

在上面的两个示例中,连接的两个项之间存在 no 空格。如果需要空间,可以简单地将其添加到格式字符串中。

这些提供了很多控制和灵活性,关于如何连接项目,它们之间的空间等。有关format specifications see this的详细信息。

答案 3 :(得分:13)

Python是一种有趣的语言,虽然通常有一种(或两种)“明显”的方法来完成任何给定的任务,但灵活性仍然存在。

s = "string"
i = 0

print (s + repr(i))

上面的代码片段是用Python3语法编写的,但是打印后的括号总是允许的(可选),直到版本3强制它们为止。

希望这有帮助。

凯特琳

答案 4 :(得分:2)

format()方法可用于连接字符串和整数

print(s+"{}".format(i))

答案 5 :(得分:1)

在python 3.6及更高版本中,您可以像这样格式化它:

print(f'{s} {i}')

或者只是:

{{1}}

答案 6 :(得分:0)

如果只想打印哟,可以这样做:

print(s , i)

答案 7 :(得分:0)

假设您要在以下情况下连接字符串和整数:

for i in range(1,11):
   string="string"+i 

您遇到输入或连接错误

最好的方法是执行以下操作:

for i in range(1,11):
   print("string",i)    

这将为您提供连接结果,例如字符串1,字符串2,字符串3 ...等