草庐IT

if-cases

全部标签

python - `if key in dict` 与 `try/except` - 哪个更易读?

我有一个关于习语和可读性的问题,对于这种特殊情况,Python哲学似乎存在冲突:我想从字典B构建字典A。如果B中不存在特定键,则什么都不做并继续。哪种方式更好?try:A["blah"]=B["blah"]exceptKeyError:pass或if"blah"inB:A["blah"]=B["blah"]“做事并请求原谅”与“简单明了”。哪个更好,为什么? 最佳答案 异常(exception)不是条件。条件版本更清晰。这很自然:这是直接的流控制,这是为条件设计的,而不是异常(exception)。异常版本主要用作在循环中进行这些查

python - Python中很长的If语句

这个问题在这里已经有了答案:Stylingmulti-lineconditionsin'if'statements?[closed](30个回答)关闭9年前。我在Python中有一个很长的if语句。将它分成几行的最佳方法是什么?最好的意思是最易读/最常见的。 最佳答案 根据PEP8,长行应放在括号中。使用括号时,可以在不使用反斜杠的情况下拆分行。您还应该尝试将换行符放在bool运算符之后。此外,如果您正在使用代码样式检查,例如pycodestyle,下一个逻辑行需要与您的代码块有不同的缩进。例如:if(abcdefghijklmno

python - 当 else 完成得最多时,制作 if-elif-elif-else 语句的最有效方法是什么?

我有一个inif-elif-elif-else语句,其中99%的时间执行else语句:ifsomething=='this':doThis()elifsomething=='that':doThat()elifsomething=='there':doThere()else:doThisMostOfTheTime()这个构造做了很多,但由于它在遇到else之前遍历了所有条件,我觉得这不是很有效,更不用说Pythonic了。另一方面,它确实需要知道是否满足这些条件中的任何一个,因此无论如何它都应该对其进行测试。有谁知道这是否以及如何更有效地完成,或者这仅仅是最好的方法吗?

python - 使用 if 语句列出理解

我想比较两个可迭代对象并打印出现在两个可迭代对象中的项目。>>>a=('q','r')>>>b=('q')#Iterateovera.Ifynotinb,printy.#Iwanttosee['r']printed.>>>print([yifynotinbforyina])^但它给了我一个无效的语法错误,其中^已被放置。这个lamba函数有什么问题? 最佳答案 你的顺序错了。if应该在for之后(除非它在​​if-else三元运算符中)[yforyinaifynotinb]但是这会起作用:[yifynotinbelseother_v

python - Python中的简单 'if'或逻辑语句

关闭。这个问题需要detailsorclarity.它目前不接受答案。想要改进这个问题吗?通过editingthispost添加详细信息并澄清问题.关闭2年前。Improvethisquestion你会如何用Python编写以下代码?ifkey34:我已经尝试了所有我能想到的方法,但发现它非常令人沮丧。 最佳答案 如果key不是int或float而是string,则需要将其转换到一个int首先通过做key=int(key)或通过做floatkey=float(key)否则,您的问题应该有效,但是if(key34):或ifnot(1会

python - 将 if-elif-else 语句放在一行上?

我已阅读下面的链接,但它没有解决我的问题。DoesPythonhaveaternaryconditionaloperator?(问题是将if-else语句压缩为一行)是否有更简单的方法来编写if-elif-else语句以使其适合一行?例如,ifexpression1:statement1elifexpression2:statement2else:statement3或者一个真实的例子:ifi>100:x=2elifi我只是觉得如果上面的例子可以这样写,它看起来会更简洁。x=2ifi>100elifi 最佳答案 不,这是不可能的(至

python - 一行 if 条件赋值

我有以下代码num1=10someBoolValue=True如果someBoolValue为True,我需要将num1的值设置为20;否则什么也不做。所以,这是我的代码num1=20ifsomeBoolValueelsenum1有没有什么方法可以避免...elsenum1部分让它看起来更干净?等价于ifsomeBoolValue:num1=20我尝试将其替换为...elsepass,如下所示:num1=20ifsomeBoolValueelsepass。我得到的只是语法错误。我也不能省略...elsenum1部分。 最佳答案 我认

python - 在 Python 中使用 'try' 与 'if'

在测试变量是否有值时,是否有理由决定使用try或if构造中的哪一个?例如,有一个函数要么返回一个列表,要么不返回一个值。我想在处理之前检查结果。以下哪一项更可取,为什么?result=function();if(result):forrinresult:#processitems或result=function();try:forrinresult:#ProcessitemsexceptTypeError:pass;相关讨论:CheckingformemberexistenceinPython 最佳答案 你经常听到Python鼓励E

java - java - 如何在java中的if-else函数中引发错误

我所做的所有谷歌搜索似乎都集中在“捕捉”错误上。如果满足某些条件,我希望能够提高自己的水平。我尝试使用Error()类及其子类,但Eclipse无法识别它们。这就是我想做的:if(some_condition){foobar();}else{//raiseanerror}愚蠢的问题,我知道,但我已经完成了我的谷歌搜索,我认为那里有人可以帮助我。提前致谢!谢谢大家!如果你以后要读这篇文章,这里是瘦的:Java中的错误是指您不应该trycatch的问题异常是指您可能想要捕获的错误。这是我的“固定”代码:if(some_condition){foobar();}else{thrownewRu

java - 在 java 中使用数百个 if else 实现业务规则的设计模式

我必须用数百行以下代码来实现某些业务规则ifthisthenthiselseifthenthis..//hundredsoflinesofruleselsethat我们是否有任何设计模式可以有效地实现这一点或重用代码,以便将其应用于所有不同的规则。我听说过规范模式,它会创建如下所示的内容publicinterfaceSpecification{booleanisSatisfiedBy(Objecto);Specificationand(Specificationspecification);Specificationor(Specificationspecification);Spec