nuo_1124 发表于 2022-10-24 21:31:53

不懂就问2022-10-24 : 关于 列表对象的问题 num.insert

请问,在列表中, 假设:
num =
num[-1]

num[-1]应该是7

但是,对于列表对象。num.insert()   -1   的位置是相对最后一个元素。有一点别扭

例如:



num =
num.insert(-1, 6.5)
print(num)


让我理解,既然是-1的位置,那插入的位置应该是末位,为啥插入到7 前面了???

nuo_1124 发表于 2022-10-24 21:35:24

num.insert(0, 0.5)

print(num)



正向 0 的位置还是开头, 为啥 -1 的位置 在num.inser()就改变了?

jackz007 发表于 2022-10-24 23:01:30

本帖最后由 jackz007 于 2022-10-24 23:04 编辑

      因为它是 insert() ,它的使命就是把目标元素插入到指定索引的前面啊。
num.insert(-1, 6.5)
      就是要把 6.5 插入到 num 最末元素之前的位置,成为倒数第 2 个元素,这样理解不是很顺畅吗?关键是,你还是不太能接受 -1 成为索引吧?

nuo_1124 发表于 2022-10-24 23:31:19

依然很感谢你,虽然不是我想要的答案,又看了一遍速查宝典,发现这句话。

将 x 元素插入到 s 列表中的 i 位置(其它元素依次往后递推)。“其它元素依次往后递推”

nuo_1124 发表于 2022-10-24 23:32:04

jackz007 发表于 2022-10-24 23:01
因为它是 insert() ,它的使命就是把目标元素插入到指定索引的前面啊。

      就是要把 6.5...

依然很感谢你,虽然不是我想要的答案,又看了一遍速查宝典,发现这句话。

将 x 元素插入到 s 列表中的 i 位置(其它元素依次往后递推)。“其它元素依次往后递推”

jackz007 发表于 2022-10-24 23:33:51

本帖最后由 jackz007 于 2022-10-24 23:36 编辑

nuo_1124 发表于 2022-10-24 23:32
依然很感谢你,虽然不是我想要的答案,又看了一遍速查宝典,发现这句话。

将 x 元素插入到 s 列表中的 ...

         它这个说法在负索引的时候不符合。

nuo_1124 发表于 2022-10-25 09:35:18

jackz007 发表于 2022-10-24 23:33
它这个说法在负索引的时候不符合。

我是这样理解的,insert一个元素到-1位置,这时-1位置就有两个元素,然后之前-1位置的元素向后递推。

jackz007 发表于 2022-10-25 09:54:07

本帖最后由 jackz007 于 2022-10-25 09:55 编辑

nuo_1124 发表于 2022-10-25 09:35
我是这样理解的,insert一个元素到-1位置,这时-1位置就有两个元素,然后之前-1位置的元素向后递推。

      这个理解非常 ok。
      我是说这个,将 x 元素插入到 s 列表中的 i 位置 在 i 是正索引的时候当然是正确的,但是,如果 i 是负索引,这个说法显然就不成立了。
页: [1]
查看完整版本: 不懂就问2022-10-24 : 关于 列表对象的问题 num.insert