草庐IT

if-cases

全部标签

python - python中if多个条件的简化

我想在一个矩形框中挑选一些元素,其轴限制为(xmin,xmax,ymin,ymax,zmin,zmax)。所以我使用以下条件,ifnot((xi>=xminandxi=yminandyi=zminandzi但我认为python有一些简洁的表达方式。有谁能告诉我吗? 最佳答案 operatorchaining的典型案例:ifnot(xmin它不仅简化了比较,允许删除括号,同时保持可读性,而且中心参数仅被评估一次,这在与函数的结果进行比较时特别有趣:ifxmin(所以如果func有副作用,它不等同于2次比较)

python - Perl 等同于 Python 的列表理解与嵌入式 if 语句?

在python中,我可以执行以下操作以获取具有特定属性的列表中的所有对象。在这个例子中,我获取列表objs中每个obj的id字段列表,其中obj.id更大超过100:ids=[obj.idforobjinobjsifobj.id>100]我如何在perl中做同样的事情?我想我想使用map,但我不知道如何有条件地将项从源集映射到目标集。 最佳答案 mapblock可以为原始列表中的每个元素返回0个或多个元素。要省略一个元素,只需返回空列表():my@ids=map{$_->id>100?$_->id:()}@objs;这假定@objs

python - 在 if block 中初始化变量的推荐方法

我有以下代码(减去一些其他操作):deffoobar():msg=Noneiffoo:msg='foo'else:msg='bar'returnmsgmsg变量是否有以下更好的做法?deffoobar():iffoo:msg='foo'else:msg='bar'returnmsg我知道我可以将上述函数简化为三元表达式,但是每个if-elseblock中都有我遗漏的操作。 最佳答案 两者都可以,但我可能会这样做:deffoobar():msg='bar'iffoo:msg='foo'returnmsg

python - 在 Pandas 数据框中的不同列上使用 lambda if 条件

我有简单的数据框:importpandasaspdframe=pd.DataFrame(np.random.randn(4,3),columns=list('abc'))例如:abc0-0.813530-1.2918621.3303201-1.0664750.6245041.69077021.330330-0.675750-1.12338930.400109-1.224936-1.704173然后我想创建包含来自“c”的值的“d”列(如果c为正数)。来自“b”的其他值。我正在尝试:frame['d']=frame.apply(lambdax:frame['c']ifframe['c']

python "if len(A) is not 0"与 "if A"语句

我的同事在条件下使用这种方式iflen(A)isnot0:print('Aisnotempty')我更喜欢这个ifA:print('Aisnotempty')什么是正反论点?她的观点是,第一种方式更直接地展示了她真正想要的东西。我的意思是我的路更短。还有第一种方法比我的方法快2倍:>>>importtimeit>>>timeit.timeit('len(A)isnot0',setup='A=[1,2,3]')0.048459101999924314>>>timeit.timeit('bool(A)',setup='A=[1,2,3]')0.09833707799998592但是>>>i

python - 如何简化大量类似的 ifs

我正在尝试弄清楚如何简化这段代码。每个if条件的逻辑基本相同,所以我想去掉重复的ifs:if"video_codec"inprofile:self.video_codec=profile["video_codec"]if"resolution_width"inprofile:self.resolution_width=profile["resolution_width"]if"resolution_height"inprofile:self.resolution_height=profile["resolution_height"]if"ratio"inprofile:self.rat

python - 函数和 if - else 在 python 中。多个条件。代码学院

写一个函数,shut_down,它接受一个参数(您可以使用任何您喜欢的参数;在这种情况下,我们将使用s作为字符串)。shut_down函数应该返回"Shuttingdown..."当它得到"Yes","yes",或"YES"作为参数,和"Shutdownaborted!"当它得到"No","no",或"NO".如果它得到的不是这些输入,函数应该返回"Sorry,Ididn'tunderstandyou."。到目前为止我写的代码如下。它会出错,例如给出"No"作为参数,它不返回"Shutdownaborted!"正如预期的那样。defshut_down(s):ifs=="Yes"or"y

python - 使用 boolean 值的 If 语句的语法

我最近刚刚加入了python3HypeTrain。但是我只是想知道如何在boolean值上使用if语句。示例:RandomBool=True#andnowhowcanIcheckthisinanifstatement?Likethefollowing:ifRandomBool==True:#DoYourThing另外,我可以像这样切换boolean值吗?RandomBool1==True#BooleanstatesTrueif#AnyThing:RandomBool1=False#BooleanstatesFalsefromnowon? 最佳答案

c++ - win32 : check if window is minimized

如何使用win32api检查窗口是否已最小化? 最佳答案 使用IsIconic功能。 关于c++-win32:checkifwindowisminimized,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4309282/

Python - 一行 if-elif-else 语句

我试图将if-elif-else语句压缩成一行。我试过:a==1?print"one":a==2?print"two":print"none"但是我遇到了语法错误。我也试过:print"one"ifa==1elseprint"two"ifa==2elseprint"none"但我也遇到语法错误。我可以做些什么来使这些答案中的任何一个更好或创建一个有效的答案? 最佳答案 尝试:print{1:'one',2:'two'}.get(a,'none') 关于Python-一行if-elif-e