Как получить списки ключей и значений словаря через понимание списка? - PullRequest
0 голосов
/ 04 октября 2018

Это MWE, которое показывает, что я хочу получить, но используя цикл for:

a = {'a':1, 'b':2, 'c':3, 'd':4}
b = []
c = []
for key, value in a.items():
  b.append(key)
  c.append(value)

print(b) # ['a', 'b', 'c', 'd']
print(c) # [1, 2, 3, 4]

Я хочу получить тот же результат в одной строке, используя понимание списка.b,c = [(key, value) for key, value in a.items()] приводит к ошибке распаковки, поскольку он назначает b и c соответственно первый и второй элемент a, а затем не знает, куда распаковать другие элементы.b,c = [key, value for key, value in a.items()] снова приводит к ошибке синтаксического типа.

1 Ответ

0 голосов
/ 04 октября 2018
b, c = map(list, zip(*a.items()))
print(b)
print(c)

Это выводит:

['a', 'b', 'c', 'd']
[1, 2, 3, 4]
...