在循环中添加到列表

2024-10-03 13:23:34 发布

您现在位置: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)

这是我的第一段代码,我将感谢任何形式的回应。谢谢您!你知道吗


Tags: 代码in程序列表forif编程形式
1条回答
网友
1楼 · 发布于 2024-10-03 13:23:34

这是个好的开始!有几件事:

  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]

相关问题 更多 >