第一步:我通过对每个字符串进行排序来创建一个新列表,如果它是字谜,那么许多重复的字符串将位于一个新列表中。
Step2:然后我再次循环,只需使用count()来检查某项是否重复(如果是)-只需从旧列表l中以相同的索引检索该单词即可。
def anagrams(l):
anagrams_list = []
final_list = list()
#step 1
for s in l:
check = sorted(s)
check = ''.join(check)
anagrams_list.append(check)
counter = 0
#step 2
for elem in anagrams_list:
if anagrams_list.count(elem) > 1:
final_list.append(l[counter])
counter+=1
return final_list
输入:[“ ab”,“ ba”,“ cd”,“ dc”,“ e”]
输出:[“ ab”,“ ba”,“ cd”,“ dc”]
但是解决这个问题的更优雅的方法是什么?