2015-03-20 2 views
-2

Может кто-нибудь, пожалуйста, помогите мне понять, почему доступ к позициям в списке во втором примере не считается первой позицией '0'?Доступные позиции в списках

>>> A = ['a', 'b', 'c', 'd', 'e'] 
>>> A[2] 
'c' # this is as I expect 

>>> A = ['0', '1', '2', '3', '4'] 
>>> A[2] 
'2' # why is this outcome '2'? I expected it to be '1' 
+0

Что? Почему вы ожидаете получить предметы из * разных * индексов из двух списков ** для одного и того же индекса?! ** Вы получаете третью букву ('' c'') и третье число ('' 2'') , так в чем проблема? – jonrsharpe

+0

вы, должно быть, шутите. в обоих примерах вы получаете 3. подсчет элементов от 1. или секунды, считая от 0. – sokoli

+2

Почему вы не ожидали, что первый пример вернет «b»? Если вы посмотрите на оба списка, вы увидите, что '' 2'' и '' c'' находятся в том же положении в своих списках. –

ответ

1

Давайте разбить его: списки

>>> A = [ 'a', 'b',  'c',  'd', 'e'] 
      A[0] A[1]  >>A[2]<<  A[3] A[4] 

>>> A[2] 
'c' #Third item in list? - Yes 


>>> A = [ '0', '1',  '2',  '3', '4'] 
      A[0] A[1]  >>A[2]<<  A[3] A[4] 

>>> A[2] 
'2' #Third item in list? - Yes 

Python всегда начинают индексирование в 0

+0

OMG- я чувствую себя плохо, что слишком сильно омрачает такую ​​очевидную вещь. Слишком много материала за слишком короткое время может обжарить ваш мозг - я думаю, это мое дело. – Rutra

0

В обоих случаях A[2] ссылается независимо хранится в индексе 2 списка. Для

A = ['a', 'b', 'c', 'd', 'e'] 

Это 'c'. (Заметим, что в связи с нуля подсчета 'a' имеет индекс 0)

Таким же образом A[2] для

A = ['0', '1', '2', '3', '4'] 

ссылки индекс 2, который дает значение '2'.

Смежные вопросы