Как использовать len (словарь) внутри цикла в Python? - PullRequest
0 голосов
/ 09 октября 2018

У меня есть фрагмент кода на python, я пытался его запустить, но я не могу понять, какой вывод создается.Вот мой код:

s = {"chris" :["1", "22", "333", "4444"] }

Первый цикл For и его вывод:

for i in range(len(s["chris"])):                     #10
      print(s["chris"][i])

Output: 
1
22
333
4444

Второй цикл For и его вывод:

for i in range (len(s["chris"])):                    #7
      print(len(s["chris"][i]))

Output:
1
2
3
4

Это будетбольшая помощь, если кто-то может помочь мне понять оба кода цикла for, а также помочь мне понять полученные результаты.Благодаря.

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

У вас есть словарь s, а "chris" - это ключ, указывающий на список ["1", "22", "333", "4444"].Итак, вызов s["chris"] дает вам список ["1", "22", "333", "4444"], а s["chris"][i], для i = 0, ... 3, дает вам элементы этого списка, то есть s["chris"][0] = "1", s["chris"][1] = "22" и т. Д. Остальныедолжен разобраться сам.

Просто позвольте мне добавить, что первый цикл эквивалентен

for val in s["chris"]:             
      print(val)

, а второй цикл -

for val in s["chris"]:             
      print(len(val))
0 голосов
/ 09 октября 2018

Когда вы используете for i in range(some integer), цикл будет повторять i от 0 до some integer - 1, например, следующий код выдаст 0 1 2 3 4 в качестве вывода

for i in range(5):
    print (i)

в вашем первом цикле for, который вы итерируете i до 4, что является длиной списка "chris", и вы печатаете элемент i th в списке "chris". Таким образом, вы получаете первый вывод

во втором цикле, условие цикла такое же, нотам вы печатаете длину элемента i th списка "chris", который равен 1 2 3 4, и это ваш вывод во втором цикле.

Надеюсь, вы могли понять

0 голосов
/ 09 октября 2018

Объяснение:

Первый пример:

  • итерация по диапазону ключа chris словаря (range итератор из0 до parameter - 1)

  • , затем получите значение в ключе chris словаря с этим индексом

Второй пример:

  • То же, что и в первом примере, но только получая длину, поэтому длина '1' равна 1, а длина '22' равна 2 и так далее
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...