11

我有两个字符串:

>>> a = "abcd"
>>> b = "xyz"
>>> c = a + b
>>> c
abcdxyz

添加and时如何得到abcd xyz结果?ab

4

4 回答 4

21

只需在两个字符串之间添加一个空格:

a = "abcd" 
b = "xyz" 
c = a + " " + b  # note the extra space concatenated with the other two
print c

这会给你

abcd xyz

您可以使用诸如 之类的函数.join(),但是对于如此简短的内容,这似乎几乎违反直觉(并且 IMO “矫枉过正”)。即,首先使用两个字符串创建一个列表,然后使用该列表调用一个函数并在打印语句中使用该函数的返回......当您可以将所需的空间与两个字符串连接时。在语义上似乎也更清晰。

基于:“简单胜于复杂”。(Python之禅“导入这个”

于 2012-07-13T12:59:47.787 回答
18

您可以使用 join 将您的字符串与您选择的分隔符连接在一起。

a = "abcd"
b = "xyz"
c = " ".join([a, b])
于 2012-07-13T13:00:04.093 回答
4

从 Python 3.6 开始,您可以使用 f-strings 轻松连接两个字符串。代码更简洁,变量直接在字符串的上下文中引用。

a = 'hello'
b = 'world'
c = f'{a} {b}'

print(c)

上面的代码将输出以下内容:

hello world

当您有许多字符串或字符串数​​量可能会有所不同时,该.join()函数仍然是要走的路。

于 2019-03-01T16:33:16.780 回答
3

Python 支持字符串格式化操作模板系统(后者在技术上是一个简单但功能强大的类)作为字符串模块的一部分。虽然加号运算符可以发挥作用,但缺少字符串格式会极大地影响代码的可读性。字符串格式化的基本示例:

c = '%s %s' % (a, b)
于 2012-07-13T13:28:45.587 回答