ViF*_*iFI 2 python dictionary python-2.7 functools iterable-unpacking
我有
x = {'a':set([1]) , 'b':set([2]), 'c':set([3]) }
Run Code Online (Sandbox Code Playgroud)
保证集合中只有一个元素.我需要将其转换为
{'a': 1, 'c': 3, 'b': 2}
Run Code Online (Sandbox Code Playgroud)
以下作品:
x1 = {k:x[k].pop() for k in x.keys()} OR
x1 = {k:next(iter(x[k])) for k in x.keys()}
Run Code Online (Sandbox Code Playgroud)
但我不喜欢它,因为pop()这里正在修改原始集合.我需要帮助.
functools.reduce它.如果你想通过拆包来做到这一点,那就是
{k: item for k, [item] in x.iteritems()}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |