在2元素集Python中返回其他值

时间:2018-02-18 02:44:42

标签: python list set runtime

不可变两个值的集合中给出一个值,如何访问另一个值是什么?

它需要在一组集合中,所以我不确定如果没有冻结集我会怎么做。

示例:

myset = frozenset([a,b])
given a, how do I access the value of b?

上下文: 所以我正在迭代一组集

data = [(a list of lists)]
movies = set(frozenset(d[:2]) for d in data)
for movie in movies:
    ...if a in movie:
       ...other_value = b

感谢

1 个答案:

答案 0 :(得分:0)

有几种方法。由于sets和frozensets是无序的,因此它们需要转换为有序类型,或者迭代整个集合。

myset = frozenset([1, 2])

a = 1
next(i for i in myset if i!=a)  # 2
tuple(myset - {a})[0]           # 2
list(myset - {a})[0]            # 2