我正在尝试做一个扩展函数,一个将作为 list.extend 方法工作的函数,但我不希望它包含 list.extend 方法或“+”运算符,此外我需要扩展 ' x' 而不是 'y'(您会看到)。
首先,这是 x 和 y:
x = [4, 5, 6]
y = [1, 2, 3]
我试过这个:x = y, x
但它给了我这个结果:([1, 2, 3], [4, 5, 6])
,我想不出...
我想做的事情(没有扩展方法和'+'运算符)看起来像这样:
x = [4, 5, 6]
y = [1, 2, 3]
extending_func(x, y)
[1, 2, 3, 4, 5, 6]
我想做一个像“extending_func”这样的函数,但我没有成功地将它全部放到一个列表中,而且我不知道我是否需要将列表类型更改为其他东西来做它,或者我只需要一个简单的想法来解决它。我也尝试使用 list.append,但它给了我下一个结果(只是为了尝试这个想法,但正如我写的那样,我需要扩展 x 而不是 y):
x = [4, 5, 6]
y = [1, 2, 3]
y.append(x)
[1, 2, 3, [4, 5, 6]]
使用列表切片将 y
附加到 x
:
x = [4, 5, 6]
y = [1, 2, 3]
x[:0] = y
print(x) # [1, 2, 3, 4, 5, 6]
请注意,在这种情况下,附加列表的顺序非常重要; y = [1, 2, 3]
被添加到 x = [4, 5, 6]
的前面(在索引 0 处)(参见 this tweak by Jean-François Fabre更好的方法)
我是一名优秀的程序员,十分优秀!