循环添加到列表

时间:2018-07-08 13:57:02

标签: python

我最近开始学习编程,我正在尝试使用所学的内容。

我要做什么:我正在尝试编写一个程序,该程序将从列表中选择正数并将其添加到空列表中。

我编写的代码:

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)

这是我的第一段代码,我希望您能以任何形式答复。谢谢!

1 个答案:

答案 0 :(得分:6)

这是一个好的开始!一些事情:

  1. list.append不会返回修改后的列表,而是将该项直接添加到列表中并返回None。因此,您不想说lst2 = lst2.append(...),只需进行append调用就足够了。此外,函数调用需要括号()而不是括号[]
  2. 您不希望调用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