我最近开始学习编程,我正在尝试使用所学的内容。
我要做什么:我正在尝试编写一个程序,该程序将从列表中选择正数并将其添加到空列表中。
我编写的代码:
lst = [5, 4, 3, 1, -2, -3, -5]
lst2 = []
for i in lst:
if i > 0:
lst2=lst2.append[i]
if i <= 0:
break
print(lst2)
这是我的第一段代码,我希望您能以任何形式答复。谢谢!
答案 0 :(得分:6)
这是一个好的开始!一些事情:
list.append
不会返回修改后的列表,而是将该项直接添加到列表中并返回None
。因此,您不想说lst2 = lst2.append(...)
,只需进行append
调用就足够了。此外,函数调用需要括号()
而不是括号[]
。 break
,因为它将退出整个循环,因此,如果在遇到第一个负数之后还有更多正数,它们将被跳过。实际上,您甚至根本不需要第二个if
,第一个lst = [5, 4, 3, 1, -2, -3, -5]
lst2 = []
for i in lst:
if i > 0:
lst2.append(i)
print(lst2)
足以满足您的需求。所以:
lst = [5, 4, 3, 1, -2, -3, -5]
lst2 = [i for i in lst if i > 0]
更“ pythonic”的方法是使用列表理解,如下所示:
from multiprocessing import Process