Извлечь список из многомерного списка - PullRequest
1 голос
/ 07 февраля 2020

Я новичок в Python и перепробовал много комбинаций, но не могу найти правильное решение. У меня есть список в списке:

AnimalLarge = ['Animal', 'Large', 20,30]
AnimalSmall = ['Animal', 'Small', 20,10]
HumanLarge = ['Human',' Large', 1, 2]
HumanSmall = ['Human', 'Small', 2, 2]
List = [AnimalLarge, AnimalSmall, HumanLarge, HumanSmall]
Search1 = 'Animal'
Search2 = 'Small'
ResultShouldBe = AnimalSmall

Если у меня есть, например, переменные «Animal» и «Small», то я хотел бы позволить программе «найти» правильную комбинацию «AnimalSmall», которая содержит «Животное, Малое, 20, 10». Я знаю, как «вручную» читать список списка или считывать отдельные параметры из списка, но мне интересно читать список (с определенными строками) внутри списка. Я провел много испытаний с "for" и "in" и индексацией, но все они были бессмысленными, поэтому я не разместил это здесь. Не могли бы вы дать мне подсказку, как это совместить? Извините, я действительно потратил довольно много времени на это, и я не понимаю ...

Ответы [ 2 ]

1 голос
/ 07 февраля 2020

Спасибо большое !!!

(Теперь это выглядит так просто, но я действительно не мог управлять правильным синтаксисом, хотя просматривал многочисленные документы и форумы в Интернете)

0 голосов
/ 07 февраля 2020

Вы можете использовать для l oop:

for l in List:
    if Search1 in l and Search2 in l:
        result = l
        break

или для понимания списка:

result = [l for l in List if Search1 in l and Search2 in l][0]
print(result)

вывод:

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