【问题标题】:How to continue iteration through code如何通过代码继续迭代
【发布时间】:2018-03-16 09:05:55
【问题描述】:
from collections import Counter
import re
def find_anagrams(a):
    A=set((a))
    B=str(A)
    C=sorted((A))
    D=range(0,len(C))


    for i in D:

        if Counter(C[i]) == Counter(C[i+1]):
            print((C[i]),C[i+1])
            return 'These are anagrams'

我正在尝试创建一个检查字谜的代码,但我不知道如何在获得第一个正确匹配后创建迭代器循环。我试过使用continue,但这似乎不起作用。我觉得这是一个简单的修复,但过去一个小时我一直在努力,似乎无法弄清楚。

【问题讨论】:

    标签: python iterator anagram


    【解决方案1】:

    如果我理解正确并且您的函数将字符串列表作为参数,您可以通过此函数找到字谜:

    from collections import Counter
    
    
    def find_anagrams(words):
        for i in range(len(words)):
            for j in range(i + 1, len(words)):
                if (Counter(words[i]) == Counter(words[j]) and 
                    words[i] != words[j]):
                    print('Anagrams:', words[i], words[j])
    

    它将检查列表中的每个单词与其他单词,不包括相同的单词。

    它将使用这些参数产生以下输出:

    words = ['aab', 'baa', 'abc', 'cba', 'abcd', 'abbd', 'aba']
    find_anagrams(words)
    
    >>> Anagrams: aab baa
    >>> Anagrams: aab aba
    >>> Anagrams: baa aba
    >>> Anagrams: abc cba
    

    【讨论】:

      猜你喜欢
      • 2021-03-25
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2018-12-06
      • 1970-01-01
      • 1970-01-01
      • 2014-05-18
      • 2020-09-09
      相关资源
      最近更新 更多