【问题标题】:Add dictionary values to a set in python将字典值添加到python中的集合
【发布时间】:2013-07-04 10:01:46
【问题描述】:

我是 python 新手。我有一个以子集作为值的字典,链接这个:

dict = {key1: [value1, value2, value 3], key2: [value4], key3: [value5, value6]}

等等。

我想将一些值的子集存储在一个新集中。例如,我想合并来自 key1 和 key3 的值,以便拥有

set1 = [value1, value2, value 3,value5, value6]

我尝试过这样做:

d1= set()
d1.add(dict['key1'])
d1.add(dict['key3'])

但它似乎不起作用(我收到错误 TypeError: unhashable type: 'set')。有什么帮助吗?

【问题讨论】:

  • 是否显示任何错误?
  • @Babu:是的,我已经在问题中添加了它

标签: python dictionary set


【解决方案1】:
d1= set()
map(d1.add, dict['key1'])
map(d1.add, dict['key3'])

【讨论】:

    【解决方案2】:

    在尝试加入它们的值之前,您必须将每个列表强制为一组:

    >>> set(dict["key1"]) | set(dict["key3"])
    {'value 3', 'value1', 'value2', 'value5', 'value6'}
    

    【讨论】:

      【解决方案3】:

      使用理解:

      new_set = {v for v_list in dict.values() for v in v_list}
      

      【讨论】:

        猜你喜欢
        • 2020-08-07
        • 2013-03-07
        • 2017-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多