Python列表 - 如何建立此连接?

时间:2011-03-03 10:59:44

标签: python algorithm

我正在阅读Python中的算法,但我也是Python的新手。

我只需要了解它是如何制作的:

a, b, c, d, e, f, g, h = range(8)
N = [
[b, c, d, e, f], # a
[c, e], # b
[d], # c
[e], # d
[f], # e
[c, g, h], # f
[f, h], # g
[f, g] # h
]
print(N[a])

--> Result: [1, 2, 3, 4, 5]

Python如何知道N [a]对应于[1,2,3,4,5]?

5 个答案:

答案 0 :(得分:4)

好吧,在第一行中,range(8)(包含0到7之间的数字的列表)将解压缩为8个名称(变量)。 a名称的值为0。因此,N[a]实际上N[0]实际上[b, c, d, e, f]实际上是[1, 2, 3, 4, 5]

答案 1 :(得分:2)

以下是两个提示:

  1. 找出通过a分配给变量h的值。
  2. 替换相应的值而不是代码中的变量名,看看它是否能让你更清楚。

答案 2 :(得分:2)

第一行设置a=0b=1c=2等。接下来的行将N设置为列表列表。此列表中的第一项是[b, c, d, e, f],即[1, 2, 3, 4, 5],因为这是b,c,d,e和f的值。

在您访问N[a]的最后一行,N[0],因为a为0.并且N[0]表示“N中的第一个元素“那就是[1, 2, 3, 4, 5],这就是你得到的。

答案 3 :(得分:1)

range(8)返回[0, 1, 2, 3, 4, 5, 6, 7]

这样,a的值为0b, c, d, e, f的值分别为1, 2, 3, 4, 5

当您访问索引N下的列表a的项目时,看到a的值为0,您将获得列表的第一项,即[b, c, d, e, f]。看作b, c, d, e, f的是1, 2, 3, 4, 5,您会得到[1, 2, 3, 4, 5]

答案 4 :(得分:1)

你熟悉数组吗?数组是可以使用索引访问的元素集合。例如:数组x包含元素'u','v','w':

   x = ['u', 'v', 'w']

现在,您可以使用索引或数组中元素的位置来访问此集合中的元素(计数从零开始):x [0]是元素'u',x [1 ]是'v',依此类推。

你的例子中的N就是这样一个数组。因为你定义了

a, b, c, d, e, f, g, h = range(8)

a将为0(如果您不确定它的作用,请阅读Python range()函数的定义),b将为1,c为2,d为3,e为4,f为5。 / p>

因此,N [a] = N [0],或者数组N中的第一个元素,即[b,c,d,e,f]。 正如我们上面所见,[b,c,d,e,f]将评估为[1,2,3,4,5]。

我希望这有帮助,对不起,如果您已经了解其中的一些方面。