Вывод словаря Python - PullRequest
       1

Вывод словаря Python

0 голосов
/ 28 июня 2018

Я надеюсь, что кто-нибудь сможет мне это объяснить.

Дан следующий словарь:

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27}

Следующее для цикла:

for k in users:
    print(k, '=>', users[k])

firstname => John
lastname => Smith
age => 27

приводит к тому же выводу, как показано ниже:

for k, v in users.items():
    print(k, '=>', v)

firstname => John
lastname => Smith
age => 27

Я понимаю синтаксис 2-го цикла и как он работает, но 1-й сбивает меня с толку. В словарях есть пары ключ / значение, но похоже, что верхний только циклически перебирает ключи, как он выводит значения? Просто глядя на это, я ожидал, что это напечатает:

firstname => firstname
lastname => lastname
age => age

Но, очевидно, это не

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Первый цикл

В первом цикле вы действительно перебираете ключи своего слова.

Синтаксис второго цикла

В python вы можете назначить кортежам:

>>> (a, b) = (1, 2)
>>> a
1
>>> b
2

То же самое, что и делать:

>>> xs = (1, 2)
>>> a = xs[0]
>>> b = xs[1]

Цикл for можно переписать как:

for kv in users.items(): 
  k, v = kv
  # k = kv[0]
  # v = kv[1]
  print(k, '=>', v)
0 голосов
/ 28 июня 2018

В python всякий раз, когда вы передаете ключ в словарь, он выводит все, что сопоставлено, или значение. Итак:

users = {'firstname': 'John', 'lastname': 'Smith', 'age': 27}

>>>firstname #user input
>>>'John' #python output

надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...