gpt4 book ai didi

python - 合并两个字符串

转载 作者:行者123 更新时间:2023-11-28 20:22:36 25 4
gpt4 key购买 nike

a = '---e'
b = 'e---'

for i in a:
c=''
for k in b:
if i == k:
c += i
else:
c += '-'


print(c)

结果:

e---

我想合并 a 和 b,这样结果就是“e--e”。这可以使用 for 循环来完成吗?有人可以修复我的代码或提出不同的方法吗?如果可能,我更愿意使用 for 循环。

谢谢

更新:

感谢“poke”和他对 zip 函数的解释,我想出了一个工作代码:

a = '---e'
b = 'ee-e'
c = ''
for x,y in zip(a,b):
if x != '-':
c += x
else:
c += y

打印(c)

输出:

ee-e

最佳答案

一种可能性,从第一个字符串中获取字符,除非那个是-:

>>> a = '---e'
>>> b = 'e---'
>>> ''.join(x if x != '-' else y for x, y in zip(a, b))
'e--e'

这通过首先压缩两个字符串来实现。这样,每个字符都与同一位置的另一个字符串中的字符配对。所以我们得到一个对列表:

>>> list(zip(a, b))
[('-', 'e'), ('-', '-'), ('-', '-'), ('e', '-')]

然后我们遍历该列表,将对中的每个元素作为 xy。所以我们现在只需要应用我们的规则来选择这两者之一。在上面的例子中,我使用 x 除非它等于 '-':

x if x != '-' else y

然后收集并连接所有这些单独的字符以获取字符串。

关于python - 合并两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22937302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com