Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查列表以查看元素是否大于指定的数字_Python_Python 3.x - Fatal编程技术网

Python 检查列表以查看元素是否大于指定的数字

Python 检查列表以查看元素是否大于指定的数字,python,python-3.x,Python,Python 3.x,我试图检查列表中的特定元素是否大于设定值 所以 我只是不确定在这个场景中使用什么命令来检查每个列表元素,或者在一行中是否可以 您询问列表中是否有任何元素大于x。如果只需要一个元素,可以使用max函数在列表中找到最大的元素,并检查其是否大于x: 使用列表理解,您还可以使用一行代码使列表中的所有元素的列表大于x: 此代码生成一个大于x的列表中所有元素的列表。您可以看到负责此操作的代码: [i for i in list if i > x] 这意味着,迭代列表,如果任何元素i的条件i>x为真,

我试图检查列表中的特定元素是否大于设定值

所以

我只是不确定在这个场景中使用什么命令来检查每个列表元素,或者在一行中是否可以

您询问列表中是否有任何元素大于x。如果只需要一个元素,可以使用max函数在列表中找到最大的元素,并检查其是否大于x:

使用列表理解,您还可以使用一行代码使列表中的所有元素的列表大于x:

此代码生成一个大于x的列表中所有元素的列表。您可以看到负责此操作的代码:

[i for i in list if i > x]
这意味着,迭代列表,如果任何元素i的条件i>x为真,则将该元素添加到新列表中。最后,返回新列表。

您询问列表中是否有大于x的元素。如果只需要一个元素,可以使用max函数在列表中找到最大的元素,并检查其是否大于x:

使用列表理解,您还可以使用一行代码使列表中的所有元素的列表大于x:

此代码生成一个大于x的列表中所有元素的列表。您可以看到负责此操作的代码:

[i for i in list if i > x]

这意味着,迭代列表,如果任何元素i的条件i>x为真,则将该元素添加到新列表中。最后,返回新列表。

列表理解将适合您的用例

In [1]: x=22

In [2]: l=[10,20,30]

In [3]: exist = [n for n in l if n > x]

In [4]: if exist:
   ...:     print "elements {} are greater than x".format(exist)
   ...: 
elements [30] are greater than x
如果列表很长,请使用生成器,这样就不必遍历列表的所有元素

In [5]: exist = next(n for n in l if n > x)

In [6]: if exist:                          
    print "Element {} is greater than x".format(exist)
   ...:     
Element 30 is greater than x

列表理解将适合您的用例

In [1]: x=22

In [2]: l=[10,20,30]

In [3]: exist = [n for n in l if n > x]

In [4]: if exist:
   ...:     print "elements {} are greater than x".format(exist)
   ...: 
elements [30] are greater than x
如果列表很长,请使用生成器,这样就不必遍历列表的所有元素

In [5]: exist = next(n for n in l if n > x)

In [6]: if exist:                          
    print "Element {} is greater than x".format(exist)
   ...:     
Element 30 is greater than x
使用Python的自然方法来检查条件是否适用于多个条件中的任何一个:

x = 22 
lst = [10, 20, 30]  # do NOT use list as a variable anme

if any(y > x for y in lst):
    # do stuff with lst
any将在iterable的第一个truthy元素被传递时终止,因此,不会执行任何虚假的迭代,这使得它比必须始终迭代整个列表的max或基于列表理解的方法更可取。然而,它的时间复杂度仍然是线性的

此外,您不应该对列表之类的内置名称进行阴影处理。

使用Python的自然方法来检查条件是否适用于多个条件中的任何一个:

x = 22 
lst = [10, 20, 30]  # do NOT use list as a variable anme

if any(y > x for y in lst):
    # do stuff with lst
any将在iterable的第一个truthy元素被传递时终止,因此,不会执行任何虚假的迭代,这使得它比必须始终迭代整个列表的max或基于列表理解的方法更可取。然而,它的时间复杂度仍然是线性的

此外,您不应该对列表之类的内置名称进行阴影处理。

如果需要,您可以使用过滤器对列表中大于22的项进行过滤 此筛选列表的len大于0,这意味着您的原始列表包含大于22的值

如果需要,您可以使用筛选器并筛选列表中大于22的项 此筛选列表的len大于0,这意味着您的原始列表包含大于22的值


欢迎来到这个网站。不幸的是,你想要什么还不清楚。请澄清:您是否只想知道列表中是否包含大于给定值的元素?还是所有元素的列表?或者如果某个特定元素表示5个元素中的第3个元素更大?欢迎访问该站点。不幸的是,你想要什么还不清楚。请澄清:您是否只想知道列表中是否包含大于给定值的元素?还是所有元素的列表?或者如果某个特定元素表示5个元素中的第3个元素更大?