【问题标题】: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