如何将值附加到列表?

How to append values to list?

我想在我的列表中附加每个循环迭代的值:

        for i in range (4,10):
        a_list = [1,2,3]
        a_list = a_list.append(i)

想要的输出是 [1,2,3,4,5,6,7,8,9]。但是我得到 None。使用 .append() 后打印类型 (a_list) 也会给我 。这里有什么问题?

主要是因为 list.append 方法没有 return 任何东西,它将给定的值附加到列表 in-place.

我们可以通过下面的简单示例来证实这一点

a = list()
b = a.append(5)
>> print(b)
None
>> print(a)
[5]

事实上,有一种更简单、更高效的方法可以实现这一点

>> a_list = [1,2,3]
>> a_list += list(range(4, 10))
>> print(a_list)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

在这里,我们首先从迭代器 range(4, 10) 塑造一个新列表, 然后我们通过将新列表添加到原始列表 a_list.

将两个列表连接在一起以获得我们想要的列表

这样做可以避免在for循环中重复调用list.append方法带来的开销

首先,你必须在for之前提到a_list。相反,你会得到 [1, 2, 3, 9]。其次,你给 a_list 一个 a_list.append() 函数的值。

a_list = [1, 2, 3]
for i in range(4, 10):
    a_list.append(i)
a_list = []
for i in range (1,10):
    a_list.append(i)

print(a_list)

输出

[1, 2, 3, 4, 5, 6, 7, 8, 9]

您在 loop.You 上的缩进错误,需要在每次迭代时添加 i。此外,要获得所需的列表,您需要先添加 1,然后添加 2,然后添加 3,依此类推。我这是需要添加的。放置 print(i) 并打印每次迭代。

a_list = [1,2,3]
for i in range (4,10):
    a_list.append(i)

print(a_list)

如果你使用你的选项,声明一次数组是正确的。然后只添加值。见下文。

[1, 2, 3, 4, 5, 6, 7, 8, 9]