如何通过代码继续迭代
How to continue iteration through code
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
但似乎没有用。我觉得这是一个简单的修复,但过去一个小时我一直在研究它,但似乎无法弄清楚。
如果我没理解错,并且你的函数以字符串列表作为参数,你可以通过这个函数找到变位词:
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
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
但似乎没有用。我觉得这是一个简单的修复,但过去一个小时我一直在研究它,但似乎无法弄清楚。
如果我没理解错,并且你的函数以字符串列表作为参数,你可以通过这个函数找到变位词:
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