У меня есть
x = {'a':set([1]) , 'b':set([2]), 'c':set([3]) }
Гарантируется, что в множестве есть только один элемент. Мне нужно преобразовать это в
{'a': 1, 'c': 3, 'b': 2}
Следующие работы:
x1 = {k:x[k].pop() for k in x.keys()} OR
x1 = {k:next(iter(x[k])) for k in x.keys()}
но мне это не нравится, так как pop()
здесь модифицирует исходную коллекцию. Мне нужна помощь в следующем.
- Как я могу использовать распаковку, как здесь в пределах понимания.
- Есть ли способ, я могу использовать
functools.reduce
для этого. - Что может быть лучшим или питоническим способом сделать это в целом?
functools.reduce
практически не имеет ничего общего с операцией, которую вы пытаетесь выполнить. - person user2357112 supports Monica   schedule 25.05.2017