Python 不需要直接访问时Dict与自定义结构?
当您必须存储一些需要迭代但从未直接访问的键值对时,即您将永远不必调用Python 不需要直接访问时Dict与自定义结构?,python,dictionary,data-structures,Python,Dictionary,Data Structures,当您必须存储一些需要迭代但从未直接访问的键值对时,即您将永远不必调用dict.get(key)或dict[key]。还是最好使用pythondict,或者在操作结构时创建一个自定义结构以支持syntaxsugar # pairs: <class Rule>:<list <class Verb>> # dict manipulation for rule, methods in rules_dict.iteritems(): for method in
dict.get(key)
或dict[key]
。还是最好使用pythondict,或者在操作结构时创建一个自定义结构以支持syntaxsugar
# pairs: <class Rule>:<list <class Verb>>
# dict manipulation
for rule, methods in rules_dict.iteritems():
for method in methods:
do_something(rule, method)
# structure manipulation
for rule in rules_struct.rules:
for method in rule.methods:
do_something(rule, method)
#对::
#口述操纵
对于规则,rules_dict.iteritems()中的方法:
对于方法中的方法:
做某事(规则、方法)
#结构操纵
对于规则\u struct.rules中的规则:
对于rule.methods中的方法:
做某事(规则、方法)
我主要担心的是,尽管我更喜欢操纵结构,但它可能是(这是我不太确定的)创建一些继承
规则
和动词
的自定义类,然后在构建结构实例时必须继续将规则
转换为MyStruct.Rule
和动词
转换为MyStruct.Verb
,这是不好的 如果您正在寻找一个字典,它可以映射值列表上的键,请看一看(1[1,2,3])
如果您正在寻找语法糖,也许您应该考虑将do_something代码段移动到“Rule”类中,并将“methods”(类动词)作为Rule类中的字段?顺便说一下,我认为您不想使用自定义类。另一方面,你有没有考虑过,如果你不更新密钥,为什么要使用dict而不是tuple?@Coldspeed确实比我提出的两个选项都简单、更好。谢谢