不同的条件数量

时间:2013-11-24 09:58:19

标签: python flow-control multiple-conditions

我正在努力将表单样式GUI中的输入数据与文件中包含的信息进行匹配。

我希望使用能够填写文件中匹配的一个/任意/所有数量的框

我认为我正在寻找的是

if ((filled_boxes[0] == file[0]) and (filled_boxes[1] == file[1]) and ....

但允许一定数量的条件

1 个答案:

答案 0 :(得分:2)

您可能正在寻找zip(),并结合all()来测试所有条件:

if all(box ==  f for box, f in zip(filled_boxes, file)):

此处zip()配对文件和框,在每对上进行循环,all()仅在所有对匹配时才返回True

zip()all()所做的快速演示:

>>> zip([1, 2, 3], ['spam', 'ham', 'eggs'])
[(1, 'spam'), (2, 'ham'), (3, 'eggs')]
>>> all(i < 5 for i in range(5))
True
>>> all(i < 5 for i in range(10))
False

其中all()只需要测试足够的生成器表达式,以确定它还有一个False值,以便返回False