2014-07-11 4 views
-1

내가 이런 목록을 가지고 있다고 가정 해 봅시다. 내가 요소에 액세스하고 싶어 "doge""Putin" 경우중첩 목록에있는 요소에 액세스

internet = ["doge", "Putin", [0, 1, 0, "some string."]] 

일반적으로는, 난 그냥 internet[0] 또는 internet[1] 할 것입니다. 죄송하지만 요소 0, 1, 0"some string."에 액세스 할 수 없습니다. 나는이 일을 시도, internet[2[0]]하지만이 오류가 발생합니다.

TypeError: 'int' object has no attribute '__getitem__' 

중첩 목록의 요소에 액세스하는 방법은 무엇입니까? 그것이 이것이 불리는 것이라면. 감사!

+0

사람들이 말했듯이 대괄호를 중첩하지 않으므로 오류가 발생합니다. 그렇게하면 파이썬은 "2 [0]"을 "리터럴 정수 2의 제로 요소를 얻습니다"라고 해석합니다. 이는 의미가 없으므로 오류가 발생합니다. – sovemp

답변

3

이렇게하려면 대괄호 [...]을 중첩하지 마십시오. 대신, 서로 옆에 그들을 배치 :

>>> internet = ["doge", "Putin", [0, 1, 0, "some string."]] 
>>> internet[2][0] # Get item 0 of item 2 in internet 
0 
>>> internet[2][1] # Get item 1 of item 2 in internet 
1 
>>> internet[2][2] # Get item 2 of item 2 in internet 
0 
>>> internet[2][3] # Get item 3 of item 2 in internet 
'some string.' 
>>> 
1

당신은 또 다른 시작하기 전에 각 조각을 종료 할 필요가 대신

internet[2][0] 

...

1

사용해보십시오 :

>>> [1, [1, 2]][1[1]] 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: 'int' object has no attribute '__getitem__' 
>>> [1, [1, 2]][1][1] 
2 
>>> 

기본적으로 내부 목록을 먼저 가져온 다음 해당 목록의 항목을 가져 오려고합니다.

>>> internet = ["doge", "Putin", [0, 1, 0, "some string."]] 
>>> internet[2] 
[0, 1, 0, 'some string.'] 
>>> internet[2][1] 
1 
>>> internet[2][3] 
'some string.' 
>>>