嘿伙计们试图完成我的计划。这是我的代码:
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
我不知道该怎么做。我做错了什么,有人可以帮助我吗?
答案 0 :(得分:3)
答案 1 :(得分:3)
newlist = [x for x in lists if x > 50]
了解列表推导here
答案 2 :(得分:2)
两个选项。使用列表推导:
lst = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
[x for x in lst if x > 50]
在Python 2.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]