【问题标题】:Return other value in a 2-element set Python返回 2 元素集合 Python 中的其他值
【发布时间】:2018-02-18 02:44:41
【问题描述】:

给定一个由两个值组成的不可变集合中的一个值,我如何访问另一个值是什么?

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

示例:

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

谢谢

【问题讨论】:

  • 最简单的方法是使用不同的结构。也许你应该解释为什么它需要是一个集合。

标签: python list set runtime


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-27
    • 2012-04-06
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 2016-08-06
    相关资源
    最近更新 更多