为了账号安全,请及时绑定邮箱和手机立即绑定

在 Python 中显示 Trie

在 Python 中显示 Trie

料青山看我应如是 2022-12-20 13:56:47
我刚开始在 Python 中尝试 Trie。我有这样的代码,但是当我得到输出时,我不知道如何将它转换回普通列表或字典。输入:TestDict = {0: {"ItemName" : "washing machine", "ItemStockLevel" : 15, "ItemCostPrice" : 129.21, "ItemSellingPrice" : 142.21},                  1: {"ItemName": "french fries", "ItemStockLevel": 100, "ItemCostPrice": 21.51, "ItemSellingPrice": 41.77},                  2: {"ItemName" : "magnum ice cream", "ItemStockLevel" : 30, "ItemCostPrice" : 57.32, "ItemSellingPrice" : 78.31}}test = []  for key in TestDict:      test.append(TestDict[key]["ItemName"])_end = '_end_'  def make_trie(list):     root = dict()     for word in list:         current_dict = root         for letter in word:             current_dict = current_dict.setdefault(letter, {})         current_dict[_end] = _end     return root  print(make_trie(test))输出:{'w': {'a': {'s': {'h': {'i': {'n': {'g': {' ': {'m': {'a': {'c': {'h': {'i': {'n': {'e': {'_end_': '_end_'}}}}}}}}}}}}}}}, 'f': {'r': {'e': {'n': {'c': {'h': {' ': {'f': {'r': {'i': {'e': {'s': {'_end_': '_end_'}}}}}}}}}}}}, 'm': {'a': {'g': {'n': {'u': {'m': {' ': {'i': {'c': {'e': {' ': {'c': {'r': {'e': {'a': {'m': {'_end_': '_end_'}}}}}}}}}}}}}}}}}想要得到:{"washing machine", "french fries", "magnum ice cream"}使用上面的输出。
查看完整描述

1 回答

?
森栏

TA贡献1810条经验 获得超5个赞

试试这个

TestDict = {0: {"ItemName" : "washing machine", "ItemStockLevel" : 15, "ItemCostPrice" : 129.21, "ItemSellingPrice" : 142.21},  

                1: {"ItemName": "french fries", "ItemStockLevel": 100, "ItemCostPrice": 21.51, "ItemSellingPrice": 41.77},  

                2: {"ItemName" : "magnum ice cream", "ItemStockLevel" : 30, "ItemCostPrice" : 57.32, "ItemSellingPrice" : 78.31}}


test = []  

for key in TestDict:  

    test.append(TestDict[key]["ItemName"])


_end = '_end_'  

def make_trie(list):  

   root = []

   for word in list:  

       root.append(word)

   return root  

print(set(make_trie(test)))


输出

{'magnum ice cream', 'french fries', 'washing machine'}


查看完整回答
反对 回复 2022-12-20
  • 1 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号