Как получить список, содержащий значения и ключи словаря? - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь понять, как наиболее эффективно создать список, содержащий значения и ключи словаря. Я пробовал использовать функцию .items(), но с плохими результатами, потому что items() возвращает список кортежей, которые затем мне нужно сгладить, импортируя другие модули. На данный момент я использую:

zdict = { 'a':1,'b':2,'c':3}
mylistofvaluesandkeys = list(zdict) + list(zdict.keys()))

Результат, который я ищу, представляет собой список, например [1, 2, 3, 'a', 'b', 'c'], где все элементы находятся в любом порядке.

Есть ли лучший способ выполнить эту задачу?

Ответы [ 2 ]

2 голосов
/ 28 мая 2020

Вы можете сделать это лениво с помощью itertools:

>>> import itertools
>>> itertools.chain(zdict.values(), zdict.keys())
<itertools.chain object at 0x10a25a9d0>
>>> list(itertools.chain(zdict.values(), zdict.keys()))
[1, 2, 3, 'a', 'b', 'c']
1 голос
/ 28 мая 2020

Если допустимо смешивание ключей со значениями, вы можете просто сделать это:

from itertools import chain

list(chain(*zdict.items()))

Это результат:

['a', 1, 'b', 2, 'c', 3]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...