gpt4 book ai didi

python - 这个列表是如何用切片赋值展开的?

转载 作者:太空狗 更新时间:2023-10-29 17:47:57 26 4
gpt4 key购买 nike

<分区>

我遇到了以下代码(有点):

my_list = [1, [2, 3, 4], 5]
my_list[1:2] = my_list[1]

运行这两行后,变量 my_list 将是 [1, 2, 3, 4, 5]。对于扩展嵌套列表非常有用。

但为什么它实际上会做它所做的事情呢?

我会假设语句 my_list[1:2] = my_list[1] 会执行以下操作之一:

  • 只需将 [2, 3, 4] 放入列表的第二个位置(它已经存在的位置)
  • 尝试将三个值(即 2、3、4)放入长度仅为 1 的容器(即 my_list[1:2])。 (使用 Numpy 数组而不是列表重复上述操作会导致类似的错误。)

其他问题(例如 How assignment works with python list slice)往往不太注意要替换的切片的大小与要替换的项目的大小之间的差异。 (更不用说解释为什么它以这种方式工作了。)

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com