【算法题】我的变位词在哪里?

什么是变位词?如果两个词只是字母顺序有所改变,那么它们就互为变位词,例如:

'abba' & 'baab' == true

'abba' & 'bbaa' == true

'abba' & 'abbba' == false

'abba' & 'abca' == false

试写出一个函数,对于给定的一个词,在一个列表中找出所有跟这个词互为变位词的单词。

函数的参数分别是一个单词和一个由单词组成的列表,注意,如果某个单词跟给的单词一样,也算作变位词。

你应该返回一个包含所有变位词的列表,如果没有变位词,则返回空列表,例如:

anagrams('abba', ['aabb', 'abcd', 'bbaa', 'dada']) => ['aabb', 'bbaa']

anagrams('racer', ['crazer', 'carer', 'racar', 'caers', 'racer']) => ['carer', 'racer']

anagrams('laser', ['lazing', 'lazy', 'lacer']) => []

下面给出函数的开头,大家可以在评论区作答:

def anagrams(word, words):
    #your code here

答案见下期😄