caeser 发表于 2022-3-8 20:20:57

各位老师,这个[-1]看不懂?

import random
nrows = 3
ncols = 3
array =[]
for i in range(nrows):
    array.append([])
    for i in range(ncols):
       array[-1].append()
      
print(array)

请教各位老师: array[-1].append()这个句子里面为什么是[-1]?谢谢!

ckblt 发表于 2022-3-8 20:25:39

[-1]是列表最后一个元素

ckblt 发表于 2022-3-8 20:26:28

[-2], [-3]则是倒数第二,第三个元素,以此类推

isdkz 发表于 2022-3-8 20:32:54

计算机的惯例都是以 0 作为第一个下标,所以正索引 0 表示正数第一个元素,

而负索引表示倒数,不过因为 -0 的结果也是 0,所以负索引用 -1 作为倒数第一个元素。

caeser 发表于 2022-3-8 21:05:14

ckblt 发表于 2022-3-8 20:26
[-2], [-3]则是倒数第二,第三个元素,以此类推

程序里面哪里体现出[-2][-3]呢?[-1]是固定的啊,每次循环应该都是[-1]啊!

iamneil 发表于 2022-3-8 21:26:41

for i in range(nrows):
    array.append([])
因为i=3 所以 array = [[],[],[]]

array[-1] = []

所以,array可以使用append方法添加元素。

iamneil 发表于 2022-3-8 21:28:16

每次都是向array中最后一个列表添加元素。

iamneil 发表于 2022-3-8 21:30:28

最后得到一组3*3的二维数据。
array = [,,]
页: [1]
查看完整版本: 各位老师,这个[-1]看不懂?