草庐IT

atomic_bool

全部标签

python - Python 中列表的 bool 值

将列表转换为boolean值的最佳方法是什么?我正在寻找类似的东西:returneval_bool(my_list)我有一个自定义容器,我在其中实现了__nonzero__方法,它应该像这样工作:ifself.my_list:returnTruereturnFalse但是它足够pythonic了吗?:)无论如何,我很好奇Python如何解释if语句中列表的值,因为这段代码的工作方式不同:returnmy_list==TrueJ. 最佳答案 只需使用:bool(my_list)将其评估为Python“真实性”并返回一个真正的boole

python - 聚合 Python 字典的 bool 值的最佳方法是什么?

对于以下Python字典:dict={'stackoverflow':True,'superuser':False,'serverfault':False,'meta':True,}我想将上面的bool值聚合成下面的bool表达式:dict['stackoverflow']anddict['superuser']anddict['serverfault']anddict['meta']上面的代码应该返回False。我使用的是上面已知名称的key,但我希望它能正常工作,以便可以有大量未知的key名称。 最佳答案 在python2.5+

python - 3d 矩阵中的 2d bool 选择

Inarelatedquestion我了解到,如果我有一个形状为MxMxN的数组,并且我想根据形状为MxM的bool矩阵进行选择,我可以简单地做data[select,...]并完成它。不幸的是,现在我的数据顺序不同了:importnumpyasnpdata=np.arange(36).reshape((3,4,3))select=np.random.choice([0,1],size=9).reshape((3,3)).astype(bool)对于data中索引为i0,i1,i2的每个元素,如果select[i0,i2]==True,则应该选择它>。我怎样才能继续我的选择,而不必做一

python - 我自己的方法用于 list_display 和值作为 bool 图标

我自己编写了用于list_display(管理类)的方法,如下所示:classMyClassAdmin(admin.ModelAdmin):list_display=('my_own_method')defmy_own_method(self,obj):if[condition]:returnTrueelse:returnFalse但是这个值在列表中显示为文本(True或False),而不是像这样的默认djangobool图标:我应该怎么做才能改变它? 最佳答案 将您的代码更改为以下内容:classMyClassAdmin(admi

python - Pandas 根据 bool 数组就地修改列值

我知道如何根据另一列的值使用apply或np.where创建一个新列,但是有选择地更改现有列的值的方法专栏正在逃避我;我怀疑涉及df.ix?我接近了吗?例如,这是一个简单的数据框(我的有数万行)。如果名称以字母“e”结尾,我想更改“标志”列中的值(假设为“蓝色”):>>>importpandasaspd>>>df=pd.DataFrame({'name':['Mick','John','Christine','Stevie','Lindsey'],\'flag':['Purple','Red',nan,nan,nan]})[['name','flag']]>>>printdfnamef

python - atom IDE 如何启用自动完成代码以查看模块中的所有函数

我正在为我的python项目使用atomIDE。在某些情况下有自动完成建议,但我想知道是否有可能列出导入模块具有的所有可能功能,例如,如果我导入导入urllib当我键入urlib.并按下(ctrl+tab)时,我希望看到一个包含可能要使用的函数/方法的列表。这可能吗?谢谢 最佳答案 我找到了我自己问题的解决方案。其实我安装了错误的插件!因此,在IDE中,编辑->首选项,然后在包部分中键入autocomplete-python并按安装按钮。重启Atom后,它应该开始工作了:) 关于pyth

python - 为什么 "not"在 Python 中比 "bool()"快(或者,Python 函数与语句的速度)?

前几天我做了一个有趣的观察。我正在尝试各种方法来获取对象的“真实性”和每个对象的速度,我注意到not比bool快很多.>>>bool([5,6,7])True>>>bool([])False>>>notnot[5,6,7]True>>>notnot[]False>>>importtimeit>>>fromnumpyimportmean>>>mean(timeit.repeat('bool(a)','a=[5,6,7]',repeat=10))0.19072036743164061>>>mean(timeit.repeat('bool(a)','a=[]',repeat=10))0.18

python - xarray 中的 bool 索引

我有一些数组带有dims'time','lat','lon'和一些只有'lat','lon'。我经常必须这样做,以便使用2d(经纬度)掩码来掩蔽时间相关数据:x.data[:,mask.data]=np.nan当然,计算会按预期广播。如果y是二维经纬度数据,它的值将广播到x中的所有时间坐标:z=x+y但索引并没有像我预期的那样广播。我希望能够做到这一点,但它引发了ValueError:Bufferhaswrongnumberofdimensions:x[mask]=np.nan最后,xr.where确实按预期在时间坐标上广播了掩码的值,但您不能以这种方式设置值。p>x_masked=x

python - django 信号是否也包含在 transaction.atomic 装饰器中?

我有一个模型文件,它使用post_save信号在另一个表中创建链接行。以典型的方式,我可以从我的一个View创建一个页面,该页面用@transaction.atomic装饰。我想知道这个装饰器是否会将Page对象的创建和SharedPage对象的创建放在同一个事务中。从django文档中不清楚信号是该原子事务的一部分。模型.pyclassPage(models.Model):name=models.CharField(default='Mydefaultpage',max_length=200,blank=False)created_at=models.DateTimeField(au

python - Django transaction.atomic() 保证原子读+写?

我需要确保从数据库读取并写回的对象不能同时被另一个请求/进程修改。transaction.atomic()能保证吗?到目前为止,我的测试告诉我没有。如果它们没有任何问题,那么实现原子读取和写入的正确方法是什么?我测试过的示例。将Test类放在模型中的某处。atomic_test.py和atomic_test2.py应该保存为管理命令。先运行pythonmanage.pyatomic_test,然后运行​​pythonmanage.pyatomic_test2。第二个脚本不会阻塞,它的更改会丢失。模型.pyclassTest(models.Model):value=models.Inte