【问题标题】:Varying number of conditions不同数量的条件
【发布时间】:2013-12-09 00:14:24
【问题描述】:

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

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

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

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

但允许一系列条件

【问题讨论】:

    标签: python control-flow multiple-conditions


    【解决方案1】:

    您可能正在寻找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

    【讨论】:

    • 我必须弄清楚如何按照我需要的方式实现它,但我想我爱你
    猜你喜欢
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多