сравнить два списка кортежей и затем вернуть true / false - PullRequest
0 голосов
/ 02 ноября 2018
lst = [('NOUN', 'chip'), ('NOUN', 'potato'), ('potato', 'chip')]

permute_lst = [('NOUN', 'chip'), ('potato', 'chip'), ('potato', 'bbq'), ('NOUN', 'potato'), ('potato', 'crisp')]

Я хочу сравнить эти два списка кортежей в самоопределяемой функции, чтобы получить список логических значений. Мой текущий код:

def get_tf(lst):
  tf_list = []
  for lookup in permute_lst:
    if set(lst) == set(lookup):
        tf_list.append(True)
    else:
        tf_list.append(False)
  return tf_list

Результат tf_list=[False, False, False, False, False]

Мой ожидаемый результат:

tf_list = [True, True, False, True, False]

1 Ответ

0 голосов
/ 02 ноября 2018

Используйте понимание списка, которое просто проверяет, есть ли каждый из ваших permute_list элементов в списке ссылок:

return [pair in lst for pair in permute_lst]

Выход:

[True, True, False, True, False]
...