判断五个字符串是否相同的最有效方法是什么?

2024-10-03 09:20:49 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有5个字符串的列表:

list = ['hello', 'alloha', 'hi there', 'good day', 'hello']

我想看看是否有任何字符串是相同的(额外的:如果有任何字符串是相同的,则获取列表中相同元素的索引)。你知道吗

解决这个小任务最有效的方法是什么?它是否适用于包含两个以上相同元素的较大列表?你知道吗

我想也许(不知怎么的)比较每个字符串的长度,然后如果长度数学比较相同位置的字母。你知道吗


Tags: 方法字符串元素hello列表字母数学hi
2条回答

一个很好的方法是创建一个小函数,将这些信息保存在返回值中,以了解它们是否存在,同时也。你知道吗

具体来说,它使用集合检查成员身份,如果找到类似的索引,则返回这些索引的列表(因此,存在类似的单词),如果找不到,则返回空列表(表示没有匹配项):

def sim(ls):
    s = set()
    for i, j in enumerate(ls):
        if j not in s:
            s.add(j)  # add the value
        else:
            yield i   # yield the index

然后,您可以获取此函数产生的结果,并根据if条件中的值进行检查(如果需要):

lst = ['hello', 'alloha', 'hi there', 'good day', 'hello']
res = list(sim(lst))   # get indices if they exist

# check against them
if res:
    print("Similar values in indices :", res)
else:
    print("print("No similar words")

打印出来:

Similar values in indices : [4]

用一个集合对它们进行散列并比较长度

if len(set(mylist)) != len(mylist):
    print("some members match!")
else:
    print("no members match")

相关问题 更多 >