我在其他地方找不到这个方法,但可能很简单。我试图将与dict 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}
由于您的值是
set
对象,请使用str
将它们转换为字符串,然后可以使用upper
方法:您的第二次尝试是正确的,但是您有两个问题:要同时对键和值进行迭代,您需要
items()
方法;并且您不能仅仅通过调用upper
来将集合的所有元素都大写。你需要在dict理解中嵌套一个set理解。你知道吗结果:
你的价值观是固定的,这就是你想要的吗?你知道吗
您可以将它们设为非集,并将它们作为字符串,然后使用iteritems:
或者,如果它们必须是集合,则需要一个传统的迭代层
相关问题 更多 >
编程相关推荐