python - 在 Python 中压缩多个条件

标签 python if-statement python-3.x

假设我有一个数字列表 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。

最佳答案

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

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

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

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

关于python - 在 Python 中压缩多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29370317/

相关文章:

android - 401 Unauthorized error.将授权码升级为凭证对象失败

python - 在Python 3中使用pygame以特定分辨率播放电影

python - pygame 显示器上的矩形碰撞;按下第二个键,碰撞后,导致矩形跳跃

python - 基于列条件的 Pandas Dataframe 过滤

python - django.core.exceptions.ImproperlyConfigured : Could not resolve URL for hyperlinked relationship using view name "user-detail"

python - 有没有办法在 Python 的子类中多次包含同一个 Mixin?

javascript - 将三元运算符的变量转换为 if-else 语句

有人能告诉我为什么我的 if/else 语句不起作用吗?

javascript - if 语句评估错误,document.cookie

python-3.x - 示例 Pyspark 程序返回 [WinError 2] 系统找不到文件