草庐IT

if-cases

全部标签

python - Pandas :使用 if-else 填充新列

我有一个像这样的DataFrame:col1col210010000332004如果col2>0或0,我想添加一个为1的列,否则为0。如果我使用R,我会做类似的事情df1[,'col3']0,1,0)我如何在python/pandas中执行此操作? 最佳答案 您可以将bool系列df.col2>0转换为整数系列(True变为1和False变为0):df['col3']=(df.col2>0).astype('int')(要创建一个新列,您只需为其命名并将其分配给与您的DataFrame长度相同的系列、数组或列表。)这产生col3为:

python - intersection() 和 'object for object in set if object in other_set' 之间的速度差异

哪一个更快?一个“更好”吗?基本上我会有两个集合,我想最终从两个列表中得到一个匹配项。所以我真的认为for循环更像是:forobjectinset:ifobjectinother_set:returnobject就像我说的——我只需要一场比赛,但我不确定intersection()是如何处理的,所以我不知道它是否更好。此外,如果有帮助,other_set是一个包含近100,000个组件的列表,set可能有几百个,最多几千个。 最佳答案 fromtimeitimporttimeitsetup="""fromrandomimportsa

python - 如何简洁地表示 if/else 以在 Django 模板中指定 CSS 类

在Django模板中,我想根据某些“条件”将CSS类添加到DIV,例如:(注意v是一个循环变量;整个事情都在for循环中)上面根据两个条件添加了CSS类“active”或“inactive”和“latest”或“notlatest”。然而,这很难阅读且冗长。我发现withstatement不支持为表达式/条件(相对于复杂变量)赋值,这很遗憾。有更好的方法吗? 最佳答案 您可以将该逻辑放入您的View中,并在对象上创建“事件”或“非事件”等属性。然后您只需访问模板中的属性。 关于pytho

python - 在python中压缩多个if语句

我正在尝试编写一个函数来检查是否在多个列表中找到了一个对象,并将该对象从找到它的任何列表中删除。我想知道是否有一种方法可以使它更清洁或更智能通用变量的形式,您可以在其中预定义格式或类似的内容。我的代码以其丑陋的形式出现:defcreate_newlist(choice):ifchoiceinlist_a:list_a.remove(choice)ifchoiceinlist_b:list_b.remove(choice)ifchoiceinlist_c:list_c.remove(choice)ifchoiceinlist_d:list_d.remove(choice)ifchoice

Python 列表理解 if else 语句

如何用列表理解来表达?新手需要帮助。非常感谢。代码如下:lst=['chen3gdu',2,['chengdu','suzhou']]result=[]foreleminlst:iftype(elem)==list:fornuminelem:result.append(num)else:result.append(elem) 最佳答案 这不太适合列表理解,但是当您没有列表时,您可以通过特殊外壳来实现它,将这些元素包装在列表中以进行迭代:result=[numforeleminlstfornumin([elem]ifnotisinst

python - 方法名不符合 snake_case 命名风格

我正在使用我的pylintrc文件创建一个简单的项目,并在测试方法中遇到此错误:methodname-test_calculator_add_method_returns_correct_result-doesn'tconformtosnake_casenamingstyleclassTddInPythonExample(unittest.TestCase):"""Thisisabasictestclass"""deftest_calculator_add_method_returns_correct_result(self):"""Thistestthecalculatoraddme

python 3 : check if method is static

类似问题(与Python2相关:Python:checkifmethodisstatic)让我们考虑以下类定义:classA:deff(self):return'thisisf'@staticmethoddefg():return'thisisg'在Python3中没有instancemethod不再,一切都是函数,所以与Python2相关的答案将不再有效。正如我所说,一切都是函数,所以我们可以调用A.f(0),但我们当然不能调用A.f()(参数不匹配)。但是如果我们创建一个实例a=A()我们调用a.f()Python传递给函数A.fself作为第一个参数。打电话a.g()阻止发送或捕

python - 'if x.strip( )' 是什么意思?

所以我之前的代码有问题,因为当我遍历foodList时得到一个空行。有人建议使用“ifx.strip():”方法,如下所示。forxinsplit:ifx.strip():foodList=foodList+[x.split(",")]它工作正常,但我只想知道它的实际含义。我知道它会删除空格,但上面的if语句不会说如果x有空格则为真。哪个与我想要的相反?只是想围绕术语及其在幕后所做的事情总结一下。 最佳答案 在Python中,“空”对象---空列表、空字典,以及在本例中的空字符串---在bool上下文(如if)中被认为是假的。任何不

if if if 判断 和 if elif elif 判断有什么区别

ififif判断和ifelifelif判断有什么区别在Python中,if语句和if-elif-else语句都用于条件控制,但它们在处理条件和执行逻辑上有一些区别。if语句:if语句用于执行一系列条件之一的代码块。你可以使用多个if语句来检查多个条件,但每个条件都会被逐一检查,即使前面的条件为真,后续的条件也会被检查。这意味着,如果多个条件都为真,那么多个条件的代码块都会被执行。示例:点击查看代码ifcondition1:#代码块1ifcondition2:#代码块2ifcondition3:#代码块3如果condition1、condition2和condition3都为真,那么所有三个代码

python - 当你调用 `if key in dict` 时会发生什么

我有一个实现了__hash__和__eq__的类(我们称它为myClass)。我还有一个dict将myClass对象映射到某个值,计算需要一些时间。在我的程序中,许多(数以百万计)myClass对象被实例化。这就是我使用dict来跟踪这些值的原因。但是,有时新的myClass对象可能等同于旧的对象(由__eq__方法定义)。因此,与其再次计算该对象的值,不如在dict中查找旧的myClass对象的值。为此,我执行ifmyNewMyClassObjindict。这是我的问题:当我使用in子句时,调用的是什么,__hash__或__eq__?使用dict的要点是它的查找时间为O(1)。那么