python - 在 Python 中尝试显示
问题描述
嗨,我刚开始在 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"}
使用上面的输出。
解决方案
- 试试这个
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'}
推荐阅读
- php - 空字符串与零的比较在 PHP 8 中给出了与以前版本不同的结果
- c++ - cpp中的crypto++ aes GCM-AEAD解密抛出异常哈希或MAC无效'
- ruby-on-rails - 尝试在主页上显示照片时出错:“资产管道中不存在资产“课程/图像1””
- node.js - Heroku - 在健康检查失败时重新启动
- javascript - Selenium 定位器:无效的元素状态
- java - 为什么我通过从 bean 调用 @Stateless 方法得到 TransactionRequiredException?
- amazon-web-services - 有没有办法在触发 lambdas 之前过滤 AWS DynamoDb 流?
- javascript - CSP:如何调试违规:eval:“脚本样本:var KERNEL = ...”
- ios - 具有多个部分的 UICollectionView
- c# - Blazor onchange 事件在 inputselect 中不起作用