gpt4 book ai didi

python - 如何合并列表中的元素,如何比较列表中的 2 个元素

转载 作者:太空宇宙 更新时间:2023-11-04 09:38:09 25 4
gpt4 key购买 nike

我是编程新手,有一个问题:

我有两个列表:

list = ["ich", "du", "etc", "."]
abbr = ["etc.", "U.S"]

我需要使用第二个给定缩写列表来识别第一个列表中的缩写。我需要遍历第一个列表的元素,如果列表的元素和列表的下一个元素一起包含在缩写列表中,那么将它们合并以获得列表,例如,

list = ["ich", "du", "etc."]

我的问题是如何合并它们以及如何将元素连接到下一个元素。我如何在这里使用下一个元素而不是“。”

for elem in list:
if ''.join((elem, ".")) in abbr:

最佳答案

您可以通过在末尾填充一个额外的空字符串来将列表的序列及其本身与一个索引分开,这样您就可以成对地遍历序列,当在缩写列表中找到它们时合并它们(这作为一个集合更有效)并跳过下一对,因为下一个字符串已经被合并:

lst = ["ich", "du", "etc", "."]
abbr = {"etc.", "U.S"}
pairs = zip(lst, lst[1:] + [''])
merged = []
for a, b in pairs:
ab = a + b
if ab in abbr:
merged.append(ab)
next(pairs, None)
else:
merged.append(a)
print(merged)

这个输出:

['ich', 'du', 'etc.']

请注意,如果您使用的是 Python 2.7 或更早版本,则可以使用添加的 iter 函数来初始化 pairs:

pairs = iter(zip(lst, lst[1:] + ['']))

关于python - 如何合并列表中的元素,如何比较列表中的 2 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52889595/

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