Удаление списка в списке только одним из его элементов [Python] - PullRequest
0 голосов
/ 08 июня 2019

У меня есть система, которая принимает кредиты, которые содержат уникальный идентификатор, имя и название книги. Макет такой:

[[0, Name, title],[2, Name, title],[1, Name, title]] 

Теперь я пытаюсь найти способ удалить один из списков в списке, но только по идентификатору. Я хочу иметь возможность просто дать моей программе 2, и она удаляет весь список с этими 2 в нем. Заметка; список с идентификатором 2 не всегда находится в индексе с номером 2, поэтому listname.pop (ID) также не является решением. Это должно быть какое-то решение, использующее listname.remove (), но при удалении вы должны предоставить весь список в качестве аргумента. Или я что-то упустил?

Ответы [ 2 ]

0 голосов
/ 08 июня 2019

вы можете использовать этот список понимания

new_list = [l for l in x if l[0] != 2]

Это имеет 2 жестко закодированных, но вы можете заменить его именем переменной

index = 2
new_list = [l for l in x if l[0] != index]
0 голосов
/ 08 июня 2019

Использование списка-понимания

l=[[0, 'Name', 'title'],[2, 'Name', 'title'],[1, 'Name', 'title']] 
print([i for i in l if i[0]!=2])
#[[0, 'Name', 'title'], [1, 'Name', 'title']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...