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