2016-01-26 3 views
1

У меня есть frozenset A и список B:Как сравнить Frozenset со списком кортежей в Python

>>> a=frozenset(['A','B']) 
>>> b=[('A','B'),('C',)] 
>>> a in b 
False # my output expectation is True 

>>> a=frozenset(['A','B']) 
>>> b=[('A',),('B',)] 
>>> a in b 
False # as my output expectation 

Я хочу, чтобы сравнить и указать, что значение frozenset a в Ь True. Что я делаю?

ответ

1

Поскольку комплекты неупорядочены, вам необходимо обеспечить правильный порядок. В вашем случае это будет работать:

tuple(sorted(frozenset(['A','B']))) in [('A','B'),('C')] 

Возможно, вы захотите создать пользовательскую ключевую функцию для более сложных случаев.

Смежные вопросы