1

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

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

我想我正在寻找的是类似的东西

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

但允许一系列条件

4

1 回答 1

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

whereall()只需要测试足够的生成器表达式来确定它也有一个False值可以返回False

于 2013-11-24T09:59:43.397 回答