所以说我有我的字典
In [80]: dict_of_lists
Out[80]:
{'Marxes': ['Groucho', 'Chico', 'Harpo'],
'Pythons': ['Chapman', 'Cleese', 'Gilliam'],
'Stooges': ['Larry', 'Curly', 'Moe']}
我意识到以后我会把这些值当作集合来处理。如何将字典从值(列表)转换为值(集)结构?你知道吗
这是我尝试过的。你知道吗
In [84]: new_dict = [set(dict_of_lists.values()) for values in dict_of_lists.keys()]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-84-f49792cd81ac> in <module>()
----> 1 new_dict = [set(dict_of_lists.values()) for values in dict_of_lists.keys()]
<ipython-input-84-f49792cd81ac> in <listcomp>(.0)
----> 1 new_dict = [set(dict_of_lists.values()) for values in dict_of_lists.keys()]
TypeError: unhashable type: 'list'
而这相当丑陋的努力。你知道吗
In [83]: for list(dict_of_lists.keys()) in dict_of_lists:
....: set list(dict
dict dict_of_lists
....: set(list(dict_of_lists.values()))
....:
File "<ipython-input-83-08e0645abb2f>", line 1
for list(dict_of_lists.keys()) in dict_of_lists:
^
SyntaxError: can't assign to function call
使用听写理解:
这将提供:
您只需要:
详细说明你的尝试失败的原因:
在这行中,您是:
.keys()
,因为这是迭代字典的默认值)values
(混淆,如果不一定是终端)然后:
现在隐式地迭代键,这很好,但是尝试将每个键分配给调用
list
的结果,再次显式调用keys
;实际上,这一行是:这没有任何意义。你知道吗
相关问题 更多 >
编程相关推荐