转换为Python中的set字典

2024-09-29 02:15:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我的python程序中有一个字典,它看起来像这样:

cities = {'England'  : ['Manchester'],
          'Germany'  : ['Stuttgart'],
          'France'   : ['Paris', 'Lyonn'],
          'Italy'    : ['Torino']}

现在我想把这本词典转换成这样的形式:

cities = {'England'  : set(['Manchester']),
         'Germany'   : set(['Stuttgart']),
         'France'    : set(['Paris', 'Lyonn']),
         'Italy'     : set(['Torino'])}

有人知道吗?你知道吗


Tags: 程序字典形式parissetcitiesfrancegermany
2条回答

简单,使用字典理解:

{key: set(value) for key, value in cities.items()}

这将每个列表值映射到一个集合对象,作为一个新的二进制对象。你知道吗

如果您使用的是python2,那么使用cities.iteritems()会更有效。你知道吗

演示:

>>> cities = {'England'  : ['Manchester'],
...           'Germany'  : ['Stuttgart'],
...           'France'   : ['Paris', 'Lyonn'],
...           'Italy'    : ['Torino']}
>>> {key: set(value) for key, value in cities.items()}
{'Italy': set(['Torino']), 'Germany': set(['Stuttgart']), 'England': set(['Manchester']), 'France': set(['Paris', 'Lyonn'])}

你可以用

dict([(k, set(v)) for k,v in cities.items()])

相关问题 更多 >