аватар question@mail.ru · 01.01.1970 03:00

Удалить словарь из списка словарей

У меня есть список со словарями. Где указано имя человека, откуда и куда он направляется. Но у одного словаря нет значения ""from"". Как удалить этот словарь из списка?

tour = [  {    ""name"": ""Александр"",    ""from"": ""Москва"",    ""to"": ""Казань""  },  {    ""name"": ""Алиса"",    ""from"": ""Москва"",    ""to"": ""Казань""      },  {    ""name"": ""Сергей"",    ""to"": ""Казань""  }]

Я пробовал сделать это несколькими способами, но ничего не выходит

#способ 1new_tour = [i for i in tour if (i['from'] == None)]#способ 2new_tour = list(filter(lambda i: i['from'] != None, tour))#способ 3for i in range(len(tour)):    if tour[i]['from'] == None:        del tour[i]        break
аватар answer@mail.ru · 01.01.1970 03:00
keys = {'name', 'from', 'to'}valid_tour = list(filter(lambda d: d.keys() == keys, tour))print(valid_tour)# ({'name': 'Александр', 'from': 'Москва', 'to': 'Казань'},#  {'name': 'Алиса', 'from': 'Москва', 'to': 'Казань'})

Последние

Похожие