我正在尝试创建一个函数,将多个变量与一个整数进行比较,并输出一个由三个字母组成的字符串.我想知道是否有办法将其翻译成Python.所以说:
x = 0
y = 1
z = 3
mylist = []
if x or y or z == 0 :
mylist.append("c")
if x or y or z == 1 :
mylist.append("d")
if x or y or z == 2 :
mylist.append("e")
if x or y or z == 3 :
mylist.append("f")
Run Code Online (Sandbox Code Playgroud)
这将返回一个列表
["c", "d", "f"]
Run Code Online (Sandbox Code Playgroud)
这样的事情可能吗?
什么是惯用的Python方法来测试集合中的所有元素是否满足条件?(.NET All()方法在C#中很好地填补了这个空白.)
有明显的循环方法:
all_match = True
for x in stuff:
if not test(x):
all_match = False
break
Run Code Online (Sandbox Code Playgroud)
列表理解可以做到这一点,但似乎很浪费:
all_match = len([ False for x in stuff if not test(x) ]) > 0
Run Code Online (Sandbox Code Playgroud)
必须有更优雅的东西......我错过了什么?
a = None
b = 'Test'
if a is None or b is None:
print('Test')
Run Code Online (Sandbox Code Playgroud)
这个版本显然有效但是:
if (a or b) is None:
print('Test')
Run Code Online (Sandbox Code Playgroud)
预期会得到相同的结果,但评估为False,为什么?