我最近开始学习编程,我正在尝试使用我所学的东西。
我正在尝试做的事情:我正在尝试编写一个程序,从列表中选择正数并将它们添加到一个空列表中。
我写的代码:
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)
这是我的第一段代码,我将不胜感激任何形式的回应。谢谢!
请您参考如下方法:
这是一个好的开始!一些事情:
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)
执行此操作的更“Pythonic”方式是使用列表理解,如下所示:
lst = [5, 4, 3, 1, -2, -3, -5]
lst2 = [i for i in lst if i > 0]
