Как удалить список из словаря и сделать его списком кортежей? - PullRequest
0 голосов
/ 24 января 2019

У меня есть переменная, представляющая собой список, в котором есть кортежи, например:

variable = [{'email':['1@1.com']},{'email':['2@2.com']}]

Как сделать переменную такой, чтобы она представляла собой список кортежей, как этот?

variable = [{'email':'1@1.com'},{'email':'2@2.com'}]

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

variable.remove('[')

Но я получаю синтаксическую ошибку

TypeError: дескриптор «remove» требует объект «list», нополучил 'str'

Редактировать:

Я использую библиотеку jmespath для сканирования ответа json.

import jmespath

path_to_data = jmespath.search("key1[*].key2[].key3.{email:[?type=='EMAIL'].value}",data_source)




path_to_data = [{'email':['1@1.com']},{'email':['2@2.com']}]

Jmespath создает объект списка.

1 Ответ

0 голосов
/ 24 января 2019

Итак, в основном, для решения вашей проблемы вы можете сделать:

variable = [{'email':['1@1.com']},{'email':['2@2.com']}]
output = [{k: v[0]} for elm in variable for k, v in elm.items()]
print(output)

[{'email': '1@1.com'}, {'email': '2@2.com'}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...