我无法在其他地方找到如何执行此操作,但这可能很简单。我正在尝试将与字典 strings
关联的 value
大写,但目前只能将实际的 key
本身大写。
strings = {"1234":{'a'}, "2":{'as'}, "4":{'bat'}, "5":{'car'}, "6":{'dove'}, "7":{'python'}}
我知道这是不对的:
d = {key:key.upper() for key in strings}
这导致了一个错误,因为我试图解压太多的变量:
d = {key:value.upper() for (key,value) in strings}
最佳答案
你的值(value)观是集合,这是你想要的吗?
您可以将它们设为非集合并将它们作为字符串,然后使用 iteritems:
strings = {"1234":'a', "2":'as', "4":'bat', "5":'car', "6":'dove', "7":'python'}
{key: value.upper() for key, value in strings.iteritems()}
或者,如果它们必须是集合,则需要一个额外的迭代层
strings = {"1234":{'a'}, "2":{'as'}, "4":{'bat'}, "5":{'car'}, "6":{'dove'}, "7":{'python'}}
{key: {val.upper() for val in value} for key, value in strings.iteritems()}
关于python - 词典理解查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25936227/