【问题标题】:Compressing multiple conditions in Python在 Python 中压缩多个条件
【发布时间】:2015-03-31 13:57:11
【问题描述】:

假设我有一个数字列表mylist,如果mylist 的所有元素都大于10,我想执行一些代码。我可能会尝试

if mylist[0] > 10 and mylist[1] > 10 and ... :
    do something

但这显然很麻烦。我想知道 Python 是否有办法在 if 语句中压缩多个条件。我试过了

if mylist[i] > 10 for i in range(len(mylist)):
    do something

但这返回了一个错误。

我正在使用 Python 3.4。

【问题讨论】:

    标签: python if-statement python-3.x


    【解决方案1】:

    您的尝试非常接近。您只需要all 函数来检查表达式的结果。

    if all(mylist[i] > 10 for i in range(len(mylist))):
        do something
    

    顺便说一下,考虑直接迭代列表中的项目,而不是其索引。

    if all(item > 10 for item in mylist):
    

    【讨论】:

      【解决方案2】:

      这样做

      if all(x > 10 for x in myList):
      

      【讨论】:

        【解决方案3】:

        答案是all

        if all(item > 10 for item in mylist):
           do something
        

        【讨论】:

          猜你喜欢
          • 2012-08-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多