如何连接 python 中的两个字符串?
How to concatenate two strings in python?
def f1()
in1="hello"
in2="world"
for i in in1:
for j in in2:
print(ij)
f1()
There two strings in1="hello" in2="world" expected
output="hweolrllod"
你可以zip
将两个字符串一起遍历并解包,join
:
out = ''.join(x for pair in zip(in1, in2) for x in pair)
输出:
'hweolrllod'
in1 + in2
创建一个新的串联字符串。
但是你的问题似乎表明你希望它们只在打印时连接起来。为此,请执行以下操作:
print(in1, in2, sep="")
你快到了。在您的代码中进行以下更改:
def f1():
in1="hello"
in2="world"
for i,j in zip(in1, in2):
print(i, j, sep='', end='')
f1()
如果您不想使用 zip
,试试这个:
def f1():
in1="hello"
in2="world"
idx = 0
for i in in1:
for j in in2[idx:]:
print(i, j, sep='', end='')
idx += 1
break
f1()
输出:
hweolrllod
@NewbieAF 回答的更快版本:
"".join(a1+a2 for a1,a2 in zip(in1, in2))
#'hweolrllod'
另一种方法是使用这个:-
in1="hello"
in2="world"
print("".join(map("".join, zip(in1, in2))))
这不是最有效的方法,但就所需的逻辑而言更容易理解。
def f1() -> None:
in1 = "hello"
in2 = "world"
i = 0
j = 0
op = ""
while i<len(in1) and j<len(in2):
op = op + in1[i]
op = op + in2[j]
i = i + 1
j = j + 1
print(op)
f1()
输出
hweolrllod
因为你没有提到字符串有不同长度的情况,所以我把那部分留了下来。
def f1()
in1="hello"
in2="world"
for i in in1:
for j in in2:
print(ij)
f1()
There two strings in1="hello" in2="world" expected output="hweolrllod"
你可以zip
将两个字符串一起遍历并解包,join
:
out = ''.join(x for pair in zip(in1, in2) for x in pair)
输出:
'hweolrllod'
in1 + in2
创建一个新的串联字符串。
但是你的问题似乎表明你希望它们只在打印时连接起来。为此,请执行以下操作:
print(in1, in2, sep="")
你快到了。在您的代码中进行以下更改:
def f1():
in1="hello"
in2="world"
for i,j in zip(in1, in2):
print(i, j, sep='', end='')
f1()
如果您不想使用 zip
,试试这个:
def f1():
in1="hello"
in2="world"
idx = 0
for i in in1:
for j in in2[idx:]:
print(i, j, sep='', end='')
idx += 1
break
f1()
输出:
hweolrllod
@NewbieAF 回答的更快版本:
"".join(a1+a2 for a1,a2 in zip(in1, in2))
#'hweolrllod'
另一种方法是使用这个:-
in1="hello"
in2="world"
print("".join(map("".join, zip(in1, in2))))
这不是最有效的方法,但就所需的逻辑而言更容易理解。
def f1() -> None:
in1 = "hello"
in2 = "world"
i = 0
j = 0
op = ""
while i<len(in1) and j<len(in2):
op = op + in1[i]
op = op + in2[j]
i = i + 1
j = j + 1
print(op)
f1()
输出
hweolrllod
因为你没有提到字符串有不同长度的情况,所以我把那部分留了下来。