如何连接 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

因为你没有提到字符串有不同长度的情况,所以我把那部分留了下来。