You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中动态嵌套已有字典并按同义词汇分类?

解决方案:交互式同义词分类嵌套字典实现

嘿,我刚好折腾过类似的需求,给你一个接地气的实现方案——不仅能完成你要的嵌套字典分类,还加入了友好的交互逻辑,让用户能自定义分类名称,灵活性拉满:

完整代码实现

from collections import defaultdict

# 你的原始词汇字典
Vocab_World = {
    'excelent': 'awesome',
    'quit': 'exit',
    'great': 'good',
    'ceken': 'bilir',
    'tremendous': 'fabolous',
    'gurbet': 'hasret',
    'postpone': 'put_offt',
    'ozlem': 'hasret'
}

# 第一步:询问用户是否需要分类
user_choice = input("是否要将同义词汇分类为嵌套字典?(y/n): ").strip().lower()

if user_choice == 'y':
    # 第二步:按释义分组,自动识别同义词组
    synonym_groups = defaultdict(list)
    for word, meaning in Vocab_World.items():
        synonym_groups[meaning].append((word, meaning))
    
    # 第三步:让用户为每个同义词组指定分类名称
    nested_vocab = {}
    print("\n接下来请为每个同义词组指定分类名称:")
    for meaning, word_pairs in synonym_groups.items():
        # 展示当前组的词汇,让用户明确分类对象
        print(f"\n--- 同义词组(释义:{meaning})---")
        for word, _ in word_pairs:
            print(f"  - {word}")
        category = input("请输入该组的分类名称(比如Adverb、Verb、Turkish Nouns等):").strip()
        # 确保分类名称不为空,默认用释义当名称
        if not category:
            category = meaning
        nested_vocab[category] = dict(word_pairs)
    
    # 输出最终分类结果
    print("\n✅ 分类完成!最终嵌套字典:")
    print(nested_vocab)
else:
    # 用户选择不分类,输出原始字典
    print("\n未执行分类操作,原始字典如下:")
    print(Vocab_World)

代码功能拆解

  • 交互逻辑:先询问用户意愿,支持大小写输入(比如Y、N都能识别),体验更友好
  • 自动分组:用collections.defaultdict快速把有相同释义的词汇归为一组,不用手动找同义词
  • 自定义分类:展示每组词汇后让用户输入分类名称,还加了空值处理(如果用户没输入,默认用释义当分类名)
  • 输出格式:完全符合你要的{'分类名': {'词汇': '释义', ...}}嵌套结构

示例运行效果

假设用户输入分类名称如下:

  • 释义awesome/good/fabolous的组 → Positive Adjectives
  • 释义exit的组 → Verbs
  • 释义bilir的组 → Turkish Verbs
  • 释义hasret的组 → Turkish Nouns
  • 释义put_offt的组 → Verbs

最终输出会是:

{
    'Positive Adjectives': {'excelent': 'awesome', 'great': 'good', 'tremendous': 'fabolous'},
    'Verbs': {'quit': 'exit', 'postpone': 'put_offt'},
    'Turkish Verbs': {'ceken': 'bilir'},
    'Turkish Nouns': {'gurbet': 'hasret', 'ozlem': 'hasret'}
}

内容的提问来源于stack exchange,提问作者NANIS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:41:19