Python 如何根据前一个列表中的特定数字制作一个单独的列表?

Python 如何根据前一个列表中的特定数字制作一个单独的列表?,python,Python,嘿,伙计们,想完成我的节目。这是我的密码: lists = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] #I want to make a new list consisting of only numbers above 50 from that list if any(list > 50 for list in list): newlists = list 我不知道怎么做。我做错了什么事,有人能帮我吗?像这样的方法会奏效: new_list

嘿,伙计们,想完成我的节目。这是我的密码:

lists = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

#I want to make a new list consisting of only numbers above 50 from that list
if any(list > 50 for list in list):
newlists = list

我不知道怎么做。我做错了什么事,有人能帮我吗?

像这样的方法会奏效:

new_list = [ x for x in lists if x > 50 ]

这被称为“”,非常方便。

类似的方法可以:

new_list = [ x for x in lists if x > 50 ]

这被称为“”,非常方便。

newlist=[x代表x,如果x>50]


阅读有关列表理解的内容

newlist=[x>50时列表中的x代表x]


阅读关于列表理解的两个选项。使用列表理解:

lst = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
[x for x in lst if x > 50]
并在Python2.x中使用
filter

filter(lambda x: x > 50, lst)
或者在Python 3.x中使用
filter
,正如注释中指出的,
filter
在此版本中返回迭代器,如果需要,需要首先将结果转换为列表:

list(filter(lambda x: x > 50, lst))
无论如何,结果正如预期的那样:

=> [60, 70, 80, 90, 100]

两种选择。使用列表理解:

lst = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
[x for x in lst if x > 50]
并在Python2.x中使用
filter

filter(lambda x: x > 50, lst)
或者在Python 3.x中使用
filter
,正如注释中指出的,
filter
在此版本中返回迭代器,如果需要,需要首先将结果转换为列表:

list(filter(lambda x: x > 50, lst))
无论如何,结果正如预期的那样:

=> [60, 70, 80, 90, 100]

试着把我的视频放在手表上。另外,作为一个旁注,避免使用
list
作为变量名。你将隐藏内置的
列表
,最终可能会出现一些相当令人困惑的错误,比如尝试在手表上播放我的视频。另外,作为补充,请避免使用
列表
作为变量名。您将隐藏内置的
列表
,并可能最终导致一些相当混乱的错误,除了在python 3中,
过滤器
不会返回
列表
:-p。我曾考虑在我的答案中添加过滤器,但我真的相信在这种特殊情况下,列表理解是一种方法<代码>过滤器实际上只有在您已经定义了一个函数并准备就绪(IMHO)的情况下才应该使用。除了在python 3中,
过滤器
不会返回一个
列表
:-p。我曾考虑在我的答案中添加过滤器,但我真的相信在这种特殊情况下,列表理解是一种方法<代码>过滤器仅当您已经定义了一个功能并准备就绪(IMHO)时才应使用。