相关疑难解决方法(0)

如何针对值测试多个变量?

我正在尝试创建一个函数,将多个变量与一个整数进行比较,并输出一个由三个字母组成的字符串.我想知道是否有办法将其翻译成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 comparison boolean-logic if-statement match

594
推荐指数
19
解决办法
19万
查看次数

Python相当于LINQ All函数?

什么是惯用的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)

必须有更优雅的东西......我错过了什么?

python linq

17
推荐指数
1
解决办法
2138
查看次数

如果a或b解释

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,为什么?

python syntax

0
推荐指数
1
解决办法
82
查看次数

标签 统计

python ×3

boolean-logic ×1

comparison ×1

if-statement ×1

linq ×1

match ×1

syntax ×1