Python сравнение двух элементов списка в Python 3 - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть творческая проблема, которую я хочу решить.

Допустим, у меня есть два списка, как показано ниже. Я хочу сравнить, все ли элементы в списке req_param также находятся в full_list. Я знаю, что легко сделать то же самое, используя для l oop и получив ответ. Но я пытаюсь выяснить, есть ли встроенный fxn python3, чтобы сделать то же самое.

req_param = ['ele1','ele2','ele3','ele4]
full_param = [['ele1','ele2','ele3','ele4','ele6'] 

Во время сравнения мне все равно, есть ли дополнительные элементы в списке full_param , Я просто забочусь о том, что если в full_param есть все элементы req_param, то каким-то образом я хочу вернуть его true, в противном случае я хочу вернуть его false.

В настоящее время это работает с for для l oop. Но на самом деле думаю, что должен быть встроенный FXN, как сравнить. Самая важная часть заключается в том, что каждый элемент может не входить в один и тот же порядок, поэтому я могу отсортировать мой список перед передачей его в fxn ...

Ответы [ 3 ]

1 голос
/ 30 апреля 2020

Как уже упоминалось, есть несколько способов:

  1. Использовать все (): if all(item in full_list for item in req_param):
  2. Использовать set (): if set(req_param).issubset(set(full_param)):
0 голосов
/ 30 апреля 2020

использовать ключевое слово all, оно возвращает True, если все условия выполнены, иначе возвращает False

0 голосов
/ 30 апреля 2020

Я нашел другой способ решить проблему.

Вы можете просто использовать set() и len(), чтобы решить проблему, а не для l oop

Вот как:

r = ['ele1','ele2','ele3','ele4']
f = ['ele1','ele2','ele3','ele4','ele6']
print(len(set(r)-set(f))==0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...