Конвертировать только значения из списка словаря в список списка без изменения порядка с помощью Python - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть список dict, из которого мне нужно преобразовать все значения dict в список списка без изменения порядка.

Я использовал пустой список и пытался добавить значения dict, используя цикл for, но его нет взаказ.

Например:

    result = [{'Project': 'ABC','Employee': 'MNK','Project': 'ABC','Project': 'ABC'}]

Я хочу в следующем формате:

    answer = [['ABC'],['MNK'],['ABC'],['ABC']]

Я использовал следующий код:

    answer =[]
    for i,j in enumerate(result):
        answer .append(result[i].values())

ЧтоЯ получил

    answer = [['MNK'],['ABC'],['ABC'],['ABC']]

Ожидаемый ответ:

    answer = [['ABC'],['MNK'],['ABC'],['ABC']]

Примечание: я ищу код, который дает ожидаемый ответ, я проверял другие вопросы, ни один из которых не имел отношения к этому.Правильные предложения и коды принимаются.Благодаря.

Ответы [ 2 ]

2 голосов
/ 17 апреля 2019

На основании вашего комментария с новым списком:

Использование map():

result = [{'T_Project': 'ABC','T_Employee': 'MNK','T_Project1': 'ABC','T_Project2': 'ABC'}]

print(list(map(lambda x: x.values(), result)))

Использование list-comprehension:

print(list(x.values() for x in result))

OUTPUT

[dict_values(['ABC', 'MNK', 'ABC', 'ABC'])]

pyFiddle

EDIT

Python 2.x :

from collections import OrderedDict

d = OrderedDict()
d['T_Project'] = 'ABC'
d['T_Employee'] = 'MNK'
d['T_Project1'] = 'ABC'
d['T_Project2'] = 'ABC'

print(d)
print(list(d.values()))

OUTPUT

OrderedDict([('T_Project', 'ABC'), ('T_Employee', 'MNK'), ('T_Project1', 'ABC'), ('T_Project2', 'ABC')])
['ABC', 'MNK', 'ABC', 'ABC']

pyFiddle 2.x

0 голосов
/ 17 апреля 2019

Я предполагаю, что вы неправильно написали свой словарь для ввода вопросов, и я предполагаю, что он выглядит следующим образом:

result = [
    {'Project': 'ABC'},
    {'Employee': 'MNK'},
    {'Project': 'ABC'},
    {'Project': 'ABC'}
]

x = [list(d.values()) for d in result]

print(x)

Что даст то, что вы хотите [['ABC'], ['MNK'], ['ABC'], ['ABC']]

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