【问题标题】:Python return success if all values in the list are 40 [duplicate]如果列表中的所有值都是 40,则 Python 返回成功 [重复]
【发布时间】:2021-07-20 21:18:13
【问题描述】:

我有一个列表,其中包含如下内容:

lst = [40, 40, 40, 40]

我只想在列表中的所有值都是 40 时打印成功,否则失败。我该怎么做?

到目前为止我尝试了什么?

if(len(set(lst))==1)
   print("Success")
else:
   print("Failure")

这会打印成功,但如果列表中的所有值都是 [1,1,1,1],它也会打印成功。

【问题讨论】:

标签: python list set


【解决方案1】:

您可以使用内置函数all() 来检查每个元素。并且使用python的三元if else你可以把它变成一个衬里

print('Success' if all(v==40 for v in lst) else 'Failure')

【讨论】:

    【解决方案2】:

    小修改:

    if len(set(lst)) == 1 and 40 in lst:
       print("Success")
    else:
       print("Failure")
    

    【讨论】:

      【解决方案3】:

      这将是您问题的一个示例:

      lst = [40, 4, 40, 40]
      
      for i in range(len(lst)):
          if (lst[i] == 40):
              success = True
          else:
              success = False
              break
      
      print(success)
      

      【讨论】:

        【解决方案4】:

        set(lst) 将为您提供一个容器,其中lst 的每个元素仅出现一次。如果每个元素都是 40,那么集合将包含 40,仅此而已。

        所以你可以检查

        if set(lst)=={40}:
           ...
        

        【讨论】:

          猜你喜欢
          • 2012-10-12
          • 1970-01-01
          • 2021-10-15
          • 1970-01-01
          • 2016-10-22
          • 1970-01-01
          • 2022-11-25
          • 2019-12-23
          • 2021-09-10
          相关资源
          最近更新 更多