Python Django-追加字典值返回空字典
我有一个单词列表,名为Python Django-追加字典值返回空字典,python,python-3.x,django,dictionary,django-views,Python,Python 3.x,Django,Dictionary,Django Views,我有一个单词列表,名为歌词_sorted,如下所示: word_original = lyrics_sorted word_normalized = [] 歌词\u排序=['word1'、'word2'、'word3'、] 现在我想制作一个字典,其中一个键是这个词,另一个键是这个词的标准化形式 首先我声明键值,如下所示: word_original = lyrics_sorted word_normalized = [] 然后是字典: grammar_dict = {'word_origin
歌词_sorted
,如下所示:
word_original = lyrics_sorted
word_normalized = []
歌词\u排序=['word1'、'word2'、'word3'、]
现在我想制作一个字典,其中一个键是这个词,另一个键是这个词的标准化形式
首先我声明键值,如下所示:
word_original = lyrics_sorted
word_normalized = []
然后是字典:
grammar_dict = {'word_original': word_original, 'word_normalized': word_normalized}
现在,对于word\u original
(或lystics\u sorted
)中的每个单词,我想添加规范化形式,因此我做如下操作:
for word in lyrics_sorted:
w = morph.parse(word)[0]
word_normalized.append(w.normal_form)
context['grammar_dict'] = list(zip(grammar_dict['word_original'],
grammar_dict['word_normalized'],))
return context
但我得到的只是一张空名单。我不知道我做错了什么;当我在shell中测试它时,它会工作。我会使用此设置
class MyView(...):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
lyrics_sorted = ['word1', 'word2', 'word3', ]
grammar_list = []
for word in lyrics_sorted:
parsed_word = morph.parse(word)[0]
result = {
'word_original': word,
'word_normalized': parsed_word.normal_form
}
grammar_list.append(result)
context['grammar_list'] = grammar_list
return context
因此,语法列表
如下所示
[
{'word_original': 'word1', 'word_normalized': 'word1_normalized'},
{'word_original': 'word2', 'word_normalized': 'word2_normalized'},
{'word_original': 'word3', 'word_normalized': 'word3_normalized'},
]
因此,您可以访问Django模板中的语法列表
上下文变量,如下所示:
{% for item in grammar_list %}
{{ item.word_original }} ---- {{ item.word_normalized }}
{% endfor %}
我会使用这个设置
class MyView(...):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
lyrics_sorted = ['word1', 'word2', 'word3', ]
grammar_list = []
for word in lyrics_sorted:
parsed_word = morph.parse(word)[0]
result = {
'word_original': word,
'word_normalized': parsed_word.normal_form
}
grammar_list.append(result)
context['grammar_list'] = grammar_list
return context
因此,语法列表
如下所示
[
{'word_original': 'word1', 'word_normalized': 'word1_normalized'},
{'word_original': 'word2', 'word_normalized': 'word2_normalized'},
{'word_original': 'word3', 'word_normalized': 'word3_normalized'},
]
因此,您可以访问Django模板中的语法列表
上下文变量,如下所示:
{% for item in grammar_list %}
{{ item.word_original }} ---- {{ item.word_normalized }}
{% endfor %}
您正在向上下文中添加一个单词对列表,而不是dict,这是有意的吗?@IainShelvington嗯,我想要的最终结果是能够生成一个包含两列的表,其中第1列显示
word1
,第2列显示word1
的规范化形式。我做错了吗?我在以前的代码中使用了这个,它起了作用……您是在向上下文中添加单词对列表,而不是dict,是故意的吗?@IainShelvington嗯,我想要的最终结果是能够生成一个包含两列的表,其中第1列显示word1
,第2列显示word1
的规范化形式。我做错了吗?我在以前的代码中使用了这个,它很有效。。。