我正在努力将表单样式 GUI 中的输入数据与文件中包含的信息进行匹配。
我希望使用能够填写一个/任意/所有数量的框以在文件中匹配
我认为我正在寻找的是类似的东西
if ((filled_boxes[0] == file[0]) and (filled_boxes[1] == file[1]) and ....
但允许一定数量的条件
您可能正在寻找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
。