我有本字典:
Dialogues = {
"dialogue_id": "000001",
"dialogue_turns": [
{ "turn_number": 0,
"interlocutor_id": "0001",
"turn_text": "Hi, how are you?" },
{ "turn_number": 1,
"interlocutor_id": "0002",
"turn_text": "Hi, I'm fine thanks. And you?" },
{ "turn_number": 2,
"interlocutor_id": "0001",
"turn_text": "I am good too, are you coming to the class today" },
{ "turn_number": 3,
"interlocutor_id": "0002",
"turn_text": "Yes, see you soon.bye" },
{ "turn_number": 4,
"interlocutor_id": "0001",
"turn_text": "bye" }
]
}
我想在其中添加一个嵌套字典,方法是对数据进行一些计数,如下所示:
Dialogues_analyzed = {
"dialogue_id": "000001",
"dialogue_analysis": [
{"interlocutor_id": "0001",
"total_turns":"3",
"total_words":"number of words in all turns of id=1"},
{
{"interlocutor_id": "0002",
"total_turns":"2",
"total_words":"number of words in all turns of id=2"}
}
]
}
我怎样才能得到没有嵌套的for循环的输出呢?我试着创建一个新字典,然后将它合并到主字典中。但是,我丢失了新字典中的键。
1条答案
按热度按时间2guxujil1#
如果你有
并试图
那么
Dialogues_analyzed
就像如果要将
dialogue_analysis
添加到Dialogues
中,可以使用**Dialogues['dialogue_analysis'] = dialogue_analysis
**;或者,如果你想保持原来的Dialogues
不变,你可以把它解包(用**
)到一个新的字典中,这个字典也包含dialogue_analysis
:并且
Dialogues_with_Analysis
(或Dialogues
,如果向其添加分析)将如下所示:也可以将逻辑 Package 在函数中:
这样,如果您有一个类似 *
Dialogues_list = [{'dialogue_id': '000001', ...}, {'dialogue_id': '000002', ...}, ...]
* 的对话框列表,则可以使用以下方法构建分析列表或构建包含分析的新对话列表
或者将分析添加到
Dialogues_list
中的每个对话字典中,其中