Skip to main content
 首页 » 编程设计

python之循环添加到列表

2025年05月04日15qlqwjy

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

我正在尝试做的事情:我正在尝试编写一个程序,从列表中选择正数并将它们添加到一个空列表中。

我写的代码:

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. 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) 

执行此操作的更“Pythonic”方式是使用列表理解,如下所示:

lst =  [5, 4, 3, 1, -2, -3, -5] 
lst2 = [i for i in lst if i > 0]