在Python中转换为集合字典
我的python程序中有一个字典,它如下所示:在Python中转换为集合字典,python,dictionary,Python,Dictionary,我的python程序中有一个字典,它如下所示: cities = {'England' : ['Manchester'], 'Germany' : ['Stuttgart'], 'France' : ['Paris', 'Lyonn'], 'Italy' : ['Torino']} cities = {'England' : set(['Manchester']), 'Germany' : set
cities = {'England' : ['Manchester'],
'Germany' : ['Stuttgart'],
'France' : ['Paris', 'Lyonn'],
'Italy' : ['Torino']}
cities = {'England' : set(['Manchester']),
'Germany' : set(['Stuttgart']),
'France' : set(['Paris', 'Lyonn']),
'Italy' : set(['Torino'])}
现在我想将这本词典转换为如下形式:
cities = {'England' : ['Manchester'],
'Germany' : ['Stuttgart'],
'France' : ['Paris', 'Lyonn'],
'Italy' : ['Torino']}
cities = {'England' : set(['Manchester']),
'Germany' : set(['Stuttgart']),
'France' : set(['Paris', 'Lyonn']),
'Italy' : set(['Torino'])}
有人知道吗?简单地说,使用字典理解:
{key: set(value) for key, value in cities.items()}
这会将每个列表值映射到一个集合对象,作为一个新的DICITORANY对象
如果您使用的是Python 2,那么使用cities.iteritems将更有效
演示:
简单地说,使用字典理解:
{key: set(value) for key, value in cities.items()}
这会将每个列表值映射到一个集合对象,作为一个新的DICITORANY对象
如果您使用的是Python 2,那么使用cities.iteritems将更有效
演示:
你可以用
dict([(k, set(v)) for k,v in cities.items()])
你可以用
dict([(k, set(v)) for k,v in cities.items()])
只需将每个值逐个转换为一个集合。这有什么问题?只需逐个将每个值转换为一个集合。这有什么问题吗?[..]列表理解太过分了,只需去掉两个括号,就可以使用生成器表达式。否则,这就是您在Python 2.6或更低版本中使用的语法,因为您还没有字典理解语法。我使用的是Python 2.6:当然,请看,在城市中使用dictk,setv for k,v。iteritems如果[…]列表理解过于复杂,您可以使用生成器表达式,只需删除两个括号即可。否则,这就是您在Python 2.6或更低版本中使用的语法,因为您还没有字典理解语法。我正在使用Python 2.6:当然,请参见,使用dictk,setv表示城市中的k,v。iteritems表示城市中的k,v。items:cities[k]=setv更新城市中的k,v的原始dictOr。items:cities[k]=setv更新原始dicts