我的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'])}
有没有人有任何想法?
答案 0 :(得分:4)
简单,使用词典理解:
{key: set(value) for key, value in cities.items()}
这会将每个列表值映射到一个set对象,作为一个新的dicitonary对象。
如果您使用的是Python 2,则使用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'])}
答案 1 :(得分:0)
您可以使用
dict([(k, set(v)) for k,v in cities.items()])