如果列表中的所有值都是 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 返回成功 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如果列中的所有值都是一位数,则将 % 值显示为“+-ONESPACE-1.00%”,如果有两位数,则显示“+-TWOSPACES-1.00%”

如果所有汇总值都是NA,则dplyr汇总保留NA

python删除列表中的重复元素并保持相对顺序不变

如果第一个元素相同,则添加两个子列表

如果所有值都相同,则循环遍历 bash 测试中的列 - AWK

如果数组中的所有值都为真(字符串)并且其中一个值为假(字符串),则如何返回布尔值 true 停止使用 Javascript 进行检查