如果键不在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很陌生,我希望我可以使用.表示法来访问dict的值。假设我有这样的test:>>>test=dict()>>>test['name']='value'>>>print(test['name'])value但我希望我可以通过test.name来获取value。事实上,我通过在我的类中重写__getattr__方法来做到这一点,如下所示:classJuspayObject:def__init__(self,response):self.__dict__['_response']=responsedef__getattr__(self,key):try:returnself.
我对python很陌生,我希望我可以使用.表示法来访问dict的值。假设我有这样的test:>>>test=dict()>>>test['name']='value'>>>print(test['name'])value但我希望我可以通过test.name来获取value。事实上,我通过在我的类中重写__getattr__方法来做到这一点,如下所示:classJuspayObject:def__init__(self,response):self.__dict__['_response']=responsedef__getattr__(self,key):try:returnself.
我想知道为什么一个类__dict__是一个mappingproxy,而一个实例__dict__只是一个普通的dict>>>classA:...pass>>>a=A()>>>type(a.__dict__)>>>type(A.__dict__) 最佳答案 这有助于解释器确保类级属性和方法的键只能是字符串。在其他地方,Python是一种“同意成人语言”,这意味着对象的dicts由用户公开和可变。但是,在类的类级别属性和方法的情况下,如果我们可以保证键是字符串,我们可以简化和加速类级别的属性和方法查找的常见案例代码。特别是,通过假设类di
我想知道为什么一个类__dict__是一个mappingproxy,而一个实例__dict__只是一个普通的dict>>>classA:...pass>>>a=A()>>>type(a.__dict__)>>>type(A.__dict__) 最佳答案 这有助于解释器确保类级属性和方法的键只能是字符串。在其他地方,Python是一种“同意成人语言”,这意味着对象的dicts由用户公开和可变。但是,在类的类级别属性和方法的情况下,如果我们可以保证键是字符串,我们可以简化和加速类级别的属性和方法查找的常见案例代码。特别是,通过假设类di
在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)
假设我在python中有一个简单的类classWharrgarbl(object):def__init__(self,a,b,c,sum,version='old'):self.a=aself.b=bself.c=cself.sum=6self.version=versiondef__int__(self):returnself.sum+9000def__what_goes_here__(self):return{'a':self.a,'b':self.b,'c':self.c}我可以很容易地将它转换为整数>>>w=Wharrgarbl('one','two','three',6)>>
假设我在python中有一个简单的类classWharrgarbl(object):def__init__(self,a,b,c,sum,version='old'):self.a=aself.b=bself.c=cself.sum=6self.version=versiondef__int__(self):returnself.sum+9000def__what_goes_here__(self):return{'a':self.a,'b':self.b,'c':self.c}我可以很容易地将它转换为整数>>>w=Wharrgarbl('one','two','three',6)>>