2011-03-03 68 views
0

我正在阅读关于Python中的算法,但我也是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

a是什么值? – 2011-03-03 11:03:57

回答

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],这就是你所得到的。

4

那么,在第一行range(8),这是一个数字从0到7的列表,解压到8个名字(变量)。 a名称的值为0。所以,N[a]实际上是N[0]实际上是[b, c, d, e, f]实际上是[1, 2, 3, 4, 5]

2

这里有你们两个提示:

  1. 弄清楚什么价值打通h赋值给变量a
  2. 替换代码中的相应值而不是变量名称,以查看它是否使事情变得更加清晰。
1

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

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

当您访问列表N的项目索引a下,看到a0一个值,你得到的名单,即[b, c, d, e, f]的第一个项目。看到b, c, d, e, f1, 2, 3, 4, 5,你得到[1, 2, 3, 4, 5]回来。

1

你熟悉数组吗?数组是您可以使用索引访问的元素的集合。例如:包含元素“U”,“V”数组x,“W”:

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

现在,你可以通过使用索引,或元素的一个地方访问这个集合中的元素数组,(计数从零开始):x [0]是元素'u',x [1]是'v',依此类推。

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

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

一个为0(读Python的range()函数的定义,如果你不能确定它做什么),B为1,c为2,d为3,E是4,f是5。因此,N [a] = N [0],或者数组N中的第一个元素,即[b,c,d,e,f]。如上所述,[b,c,d,e,f]将评估为[1,2,3,4,5]。

我希望这会有所帮助,如果您已经知道这些方面中的一部分,对不起。