2016-03-02 33 views
-5

因此,代碼爲:解釋這段代碼的輸出與嵌套範圍

X = range(4, 7) 
Y = range(2) 
X[2] = Y 
print X[2][0] 
print X[2][1] 

X[2][0] = 9 
print Y[0] 

,輸出是

0 
1 
9 

到底是代碼做什麼來獲取輸出?此外,如果代碼看起來像

X = range(4, 7) 
print X[-1] 

那麼輸出是什麼,因爲我對什麼是負值做了迷惑。

+0

'X = 4,5,6;打印6',負向索引從-1開始-1 – YOU

+0

在第一個'print'之前加上'print X',你就會明白了。 – Selcuk

+0

btw,X [-1],並且打印在python 3中不會那樣工作,因爲range是一個迭代器,print是一個函數。 – YOU

回答

2
>>> X = range(4, 7) # List of number from 4 to 6 
>>> Y = range(2)  # List of number from 0 to 1 
>>> X 
[4, 5, 6] 
>>> Y 
[0, 1] 
>>> X[2] = Y   # Stored 'Y' at X[2] in place of '6' 
        # X[2] is referencing Y 
>>> X 
[4, 5, [0, 1]] 
>>> print X[2][0] # '0'th index of X[2] i.e Y[0] 
0 
>>> print X[2][1] # '1'th index of X[2] i.e Y[1] 
1 
>>> X[2][0] = 9  # Set '0'th index of X[2] i.e Y[0] as 9 
>>> Y[0] 
9 
>>> Y 
[9, 1] 
>>> X 
[4, 5, [9, 1]] 

現在來談談另一個與negative index有關的問題。 -i作爲索引represnt i從最後一個元素。例如:

>>> X = range(4, 7) 
>>> X 
[4, 5, 6] 
>>> X[-1] # 1st element from last 
6 
>>> X[-3] # 3rd element from last 
4 
+1

我正在逐步更新答案過程:) –

0

如果字符串說X =「你好」,然後從左至右這些字符被賦值0,1,2,3,4其中爲從右到左的分配-1,-2,-3,-4,-5的值,所以如果你說

print x[-1] 

它將返回 'O' 如果你說

print x[0] 

它將返回 'H',希望澄清。

+0

你回答了最後一個問題,但沒有回答其他問題 –