不能正确分组

Jac*_* Xu 4 python string algorithm hashtable

我写了一个python函数来按字母组对单词列表进行分组:

def groupByAnagram(list):
    dic = {}
    for x in list:
        sort = ''.join(sorted(x))

        if sort in dic == True:
            dic[sort].append(x)
        else:
            dic[sort] = [x]

    for y in dic:
        for z in dic[y]:
            print z

groupByAnagram(['cat','tac','dog','god','aaa'])
Run Code Online (Sandbox Code Playgroud)

但这只会返回:

AAA

TAC

我究竟做错了什么?

Kev*_*vin 9

if sort in dic == True:
Run Code Online (Sandbox Code Playgroud)

由于操作员链接,这条线相当于

if (sort in dic) and (dic == True):
Run Code Online (Sandbox Code Playgroud)

但是dic是一本字典,所以它永远不会与True相提并论.只需完全删除== True比较.

if sort in dic:
Run Code Online (Sandbox Code Playgroud)