我想在更新密钥的值之前测试字典中是否存在密钥.我写了以下代码:
if 'key1' in dict.keys():
print "blah"
else:
print "boo"
Run Code Online (Sandbox Code Playgroud)
我认为这不是完成这项任务的最佳方式.有没有更好的方法来测试字典中的密钥?
如何在Python中执行以下操作?
row = [unicode(x.strip()) for x in row if x is not None else '']
Run Code Online (Sandbox Code Playgroud)
实质上:
可能重复:
Python三元运算符
我刚刚进入Python,我非常喜欢语法的简洁性.然而,有没有写一个更简单的方法if- then- else语句,因此它适合在同一行?
例如:
if count == N:
count = 0
else:
count = N + 1
Run Code Online (Sandbox Code Playgroud)
有没有更简单的写作方式?我的意思是,在Objective-C中我会把它写成:
count = count == N ? 0 : count + 1;
Run Code Online (Sandbox Code Playgroud)
Python有类似的东西吗?
更新
我知道在这种情况下我可以使用count == (count + 1) % N.
我问的是一般语法.
我需要在布尔变量设置为时才打印一些东西True.所以,看后这个,我试图用一个简单的例子:
>>> a = 100
>>> b = True
>>> print a if b
File "<stdin>", line 1
print a if b
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
如果我写的话也一样print a if b==True.
我在这里错过了什么?
在python 2.6中,我想做:
f = lambda x: if x==2 print x else raise Exception()
f(2) #should print "2"
f(3) #should throw an exception
Run Code Online (Sandbox Code Playgroud)
这显然不是语法.是否有可能执行ifin lambda和if if how to do it?
谢谢
我有一个变量存储false或true,但我需要0或1相反.我怎样才能做到这一点?
可能重复:
Python三元运算符
有没有办法用Python编写这个C/C++代码?
a = (b == true ? "123" : "456" )
有没有办法在Python中将if/ else语句压缩到一行?
我经常看到各种快捷方式,并怀疑它也适用于此.
我已阅读下面的链接,但它没有解决我的问题.
Python有三元条件运算符吗?(问题是关于将if-else语句压缩到一行)
有没有更简单的方法来编写if-elif-else语句,以便它适合一行?
例如,
if expression1:
statement1
elif expression2:
statement2
else:
statement3
Run Code Online (Sandbox Code Playgroud)
[UPDATE]
if i>100:
x=2
elif i<100:
x=1
else:
x=0
Run Code Online (Sandbox Code Playgroud)
我只是觉得如果上面的例子可以用以下方式编写,它看起来可能更简洁.
x=2 if i>100 elif i<100 1 else 0 [WRONG]
Run Code Online (Sandbox Code Playgroud) C和许多其他语言都有条件(也称为三元)运算符.这允许您根据条件的真实性在两个值之间做出非常简洁的选择,这使得表达式(包括赋值)非常简洁.
我想念这个,因为我发现我的代码有很多条件赋值,在Python中占用四行:
if condition:
var = something
else:
var = something_else
Run Code Online (Sandbox Code Playgroud)
而在C中它是:
var = condition? something: something_else;
Run Code Online (Sandbox Code Playgroud)
文件中的一次或两次没问题,但是如果你有很多条件分配,那么线条的数量就会爆炸,最糟糕的是,眼睛会吸引它们.
我喜欢条件运算符的简洁性,因为它在我浏览代码时会让我认为没有战略意义的东西分散注意力.
那么,在Python中,有没有什么技巧可以用来将赋值放到一行上来近似条件运算符的优点,正如我所概述的那样?
python ×9
syntax ×3
if-statement ×2
boolean ×1
c ×1
c++ ×1
dictionary ×1
inline ×1
integer ×1
javascript ×1
lambda ×1
numbers ×1
python-2.6 ×1