我正在阅读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]?
答案 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)
以下是两个提示:
a
分配给变量h
的值。答案 2 :(得分:2)
第一行设置a=0
,b=1
,c=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
的值为0
,b, 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]。
我希望这有帮助,对不起,如果您已经了解其中的一些方面。