L=[1,2,3]
print(L[L[2]])
輸出會是什么?我是 python 的初學者,我對 List 中的這個特定內容感到困惑。我不明白這是什么意思。
uj5u.com熱心網友回復:
我將用這個串列來解釋(因為你會在當前串列中得到 IndexError):
L = [1, 2, 3, 4, 5]
print(L[L[2]])
首先,Python 看到print()函式,為了呼叫這個函式,Python 必須知道它的引數。因此,它進一步評估了這個論點L[L[2]]。
L是一個串列,我們可以將索引傳遞給括號以獲取該索引處的專案。所以我們需要知道索引。我們更進一步,計算第一個內部的運算式[]。是L[2]。
現在我們可以輕松地計算運算式L[2]。結果是3。
取那個結果并把它代替L[2]。我們的全部表達是print(L[3])此刻。
我想你現在明白了……
From inside to the outside:
step1 -- > print(L[L[2]])
step2 -- > print(L[3])
step3 -- > print(4)
uj5u.com熱心網友回復:
你在這里所做的是,你得到的值應該是 2,應該是 3,因為 python 從 0 開始并上升。所以在那之后應該做內部大括號,然后你發現索引在 3 太大了。因為索引只上升到 2,如果我說我有三個數字,而你問我第四個數字是什么,那沒有意義吧?所以這是同樣的事情。這將導致錯誤。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
這意味著您正在嘗試獲取一個不存在的值。我希望這可以說清楚。
uj5u.com熱心網友回復:
L[L[2]]變為L[3],因為L[2]等于3。然后,由于 中有三個元素L,并且索引從0Python 開始,這將導致IndexError.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/420231.html
標籤:
上一篇:r閃亮的存盤圖和資料框在串列中
下一篇:替換串列中的所有其他位置
