如果键不在dict.keys()中,我想在dict中插入一个键值对。基本上我可以这样做:ifkeynotind.keys():d[key]=value但是有更好的方法吗?或者这个问题的pythonic解决方案是什么? 最佳答案 你不需要调用d.keys(),所以ifkeynotind:d[key]=value就够了。没有比这更清晰、更易读的方法了。您可以使用dict.get()再次更新,如果键已经存在,它将返回一个现有值:d[key]=d.get(key,value)但我强烈建议不要这样做;这是代码打高尔夫球,妨碍维护和可读性。
如果键不在dict.keys()中,我想在dict中插入一个键值对。基本上我可以这样做:ifkeynotind.keys():d[key]=value但是有更好的方法吗?或者这个问题的pythonic解决方案是什么? 最佳答案 你不需要调用d.keys(),所以ifkeynotind:d[key]=value就够了。没有比这更清晰、更易读的方法了。您可以使用dict.get()再次更新,如果键已经存在,它将返回一个现有值:d[key]=d.get(key,value)但我强烈建议不要这样做;这是代码打高尔夫球,妨碍维护和可读性。
在Python(2.7)中是否有更简单的方法来执行此操作?:注意:这不是什么花哨的东西,就像将所有局部变量放入字典中一样。只是我在列表中指定的那些。apple=1banana='f'carrot=3fruitdict={}#Iwanttosetthekeyequaltovariablename,andvalueequaltovariablevalue#isthereamorePythonicwaytoget{'apple':1,'banana':'f','carrot':3}?forxin[apple,banana,carrot]:fruitdict[x]=x#(Won'twork)
在Python(2.7)中是否有更简单的方法来执行此操作?:注意:这不是什么花哨的东西,就像将所有局部变量放入字典中一样。只是我在列表中指定的那些。apple=1banana='f'carrot=3fruitdict={}#Iwanttosetthekeyequaltovariablename,andvalueequaltovariablevalue#isthereamorePythonicwaytoget{'apple':1,'banana':'f','carrot':3}?forxin[apple,banana,carrot]:fruitdict[x]=x#(Won'twork)
我想了解Pythonhash引擎盖下的功能。我创建了一个自定义类,其中所有实例都返回相同的哈希值。classC:def__hash__(self):return42我只是假设上述类中只有一个实例可以在dict中。任何时候,但实际上是dict可以有多个具有相同散列的元素。c,d=C(),C()x={c:'c',d:'d'}print(x)#{:'c',:'d'}#notethatthedicthas2elements我进行了更多实验,发现如果我覆盖__eq__方法使得类的所有实例比较相等,然后dict只允许一个实例。classD:def__hash__(self):return42def
我想了解Pythonhash引擎盖下的功能。我创建了一个自定义类,其中所有实例都返回相同的哈希值。classC:def__hash__(self):return42我只是假设上述类中只有一个实例可以在dict中。任何时候,但实际上是dict可以有多个具有相同散列的元素。c,d=C(),C()x={c:'c',d:'d'}print(x)#{:'c',:'d'}#notethatthedicthas2elements我进行了更多实验,发现如果我覆盖__eq__方法使得类的所有实例比较相等,然后dict只允许一个实例。classD:def__hash__(self):return42def
按值从字典中删除项目的最佳方法是什么,即当项目的键未知时?这是一个简单的方法:forkey,iteminsome_dict.items():ifitemisitem_to_remove:delsome_dict[key]有没有更好的方法?迭代时从字典中变异(删除项目)有什么问题吗? 最佳答案 dict.pop(key[,default])方法允许您在知道key时删除项目。如果删除项目,则返回键处的值,否则返回作为default传递的内容。见thedocs.'例子:>>>dic={'a':1,'b':2}>>>dic{'a':1,'b
按值从字典中删除项目的最佳方法是什么,即当项目的键未知时?这是一个简单的方法:forkey,iteminsome_dict.items():ifitemisitem_to_remove:delsome_dict[key]有没有更好的方法?迭代时从字典中变异(删除项目)有什么问题吗? 最佳答案 dict.pop(key[,default])方法允许您在知道key时删除项目。如果删除项目,则返回键处的值,否则返回作为default传递的内容。见thedocs.'例子:>>>dic={'a':1,'b':2}>>>dic{'a':1,'b
已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎离题了,因为它缺乏足够的信息来诊断问题。更详细地描述您的问题或includeaminimalexample在问题本身。关闭8年前。Improvethisquestion我想使用enum作为键和对象作为值。以下是示例代码片段:publicclassDistributorAuditSectionimplementsComparable{privateMapquestionComponentsMap;publicMapgetQuestionComponentsMap(){returnquesti
已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎离题了,因为它缺乏足够的信息来诊断问题。更详细地描述您的问题或includeaminimalexample在问题本身。关闭8年前。Improvethisquestion我想使用enum作为键和对象作为值。以下是示例代码片段:publicclassDistributorAuditSectionimplementsComparable{privateMapquestionComponentsMap;publicMapgetQuestionComponentsMap(){returnquesti