gpt4 book ai didi

python - 对齐两个字符串 : Bigramm/Buble

转载 作者:行者123 更新时间:2023-12-03 18:44:10 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,允许我在两个字符串中的字符匹配时将两个字符串对齐。

例如输入:

输出:

['H', 'o', 'u', 's', 'e'] ['H', 'o', 's']

期望的输出:

['H', 'o', 'u', 's', 'e'] 
['H', 'o', ,'0','s', '0']

我正在考虑使用冒泡排序或使用二元语法来做到这一点,但我没有任何这方面的经验。 有人有什么建议吗?

最佳答案

快速而肮脏的方法:

l1 = ['H', 'o', 'u', 's', 'e'] 
l2 = ['H', 'o', 's']

l2, l1 = sorted((l1, l2), key=len)
l = len(l1)
j = 0

res = []
for i in range(l):
try:
if l1[i]==l2[j]:
res.append(l1[i])
j += 1
else:
res.append(None)
except IndexError:
res.extend([None] * (l-j))
break

print(res) # -> ['H', 'o', None, 's', None]

请注意,需要澄清! (见@yatu的评论)

另请注意,我将您的 '0' 更改为 None。使用 '0' 是个坏主意,因为至少在理论上,您的两个初始列表可能包含它,您将无法区分匹配和不匹配。


我非常期待用更优雅的方法来解决这个有趣的问题!

关于python - 对齐两个字符串 : Bigramm/Buble,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59982388/

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