如果列表中的所有值都是 40,则 Python 返回成功 [重复]

Posted

技术标签:

【中文标题】如果列表中的所有值都是 40,则 Python 返回成功 [重复]【英文标题】:Python return success if all values in the list are 40 [duplicate] 【发布时间】: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],它也会打印成功。

【问题讨论】:

这能回答你的问题吗? How to check if all elements of a list match a condition?,或者将您的条件更改为:len(set(lst))==1 and lst[0] == 40(即检查只有 1 个唯一值,该值是 40) set(lst)==40 也是Check if list contains only item x的更接近的副本 【参考方案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:
   ...

【讨论】:

以上是关于如果列表中的所有值都是 40,则 Python 返回成功 [重复]的主要内容,如果未能解决你的问题,请参考以下文章