Python 3.x 无法在循环中填充字典,所有值均为无

Python 3.x 无法在循环中填充字典,所有值均为无,python-3.x,dictionary,for-loop,append,Python 3.x,Dictionary,For Loop,Append,我有以下代码: diz = {} for key in df.keys(): for wd in df[key][df[key].columns[0]]: for l in range(len(messages)): #faccio 7 volte if wd in messages[l]['subject'].lower() or wd in messages[l]['body'].lower():

我有以下代码:

diz = {}
for key in df.keys():
    for wd in df[key][df[key].columns[0]]:
          for l in range(len(messages)): #faccio 7 volte
                if wd in messages[l]['subject'].lower() or wd in messages[l]['body'].lower():
                        diz[messages[l]['subject']] = words.append(wd)
                else:
                        continue
df是一个excel电子表格。键是excel电子表格的名称。在此excel中,在电子表格的第一列(每个单元格一个)中有诸如“hello”、“bye”之类的字符串/单词。 messages是电子邮件文本列表,由主题和正文组成。 这段代码的要点是获取电子表格中的单词列表,并检查这些单词是否包含在这些电子邮件/消息中。如果是,我必须创建一个字典,其中键是邮件的主题,值是他在其中找到的单词(在excel列表中) 输出应该是这样的

假设excel中的单词列表是再见,谢谢,你好,好,是的

我得到的结果是:

{'subject mail 1': None, 'subject mail 2': None, 'subject mail 3': None}
,这显然不起作用。当循环找到单词时,我正在努力将它们追加到字典中。 我认为这是一个词典附加的问题


无法摆脱这个问题。请您帮忙好吗?

diz[messages[l]['subject']]=words.append(wd)您能在文档中搜索append()方法的返回值吗?我只能找到,它没有提到任何返回值。那么这是一种解释吗?我不确定你现在是否说if.append()可以赋值给变量,或者在本例中可以赋值给字典键。无论如何,如果你知道不使用append的另一种方法,那就很好了为什么你不把
单词
赋值给diz[消息[l]['subject']]
?append()不返回任何类型,因为它没有返回值。因此,结果与预期完全一致。如果我这样做,所有受试者都会有这样的单词:{'subject mail 1':你好,再见,谢谢,好,是的,'subject mail 2':你好,再见,谢谢,好,是的,'subject mail 3':你好,再见,谢谢,好,是的}好的,我的意思是:如果你想实现两件事:一是在
words
中添加
wd
,二是添加一些东西(可能是
wd
,我还是不确定),将它分成两行。从片段中不清楚您试图做什么。只有一件事是清楚的。append()将返回
None