【问题标题】:How to create a dictionary that contains every values from a set?如何创建一个包含集合中每个值的字典?
【发布时间】:2019-06-15 19:27:19
【问题描述】:

我在尝试创建使用集合作为键值的字典时遇到问题,包含键的部分元素的值将被添加到键值中。

例如,如果我有以下一组:

{( 'a', 'b', 'c' ), ( 'a', 'd', 'b' ), ( 'z',), ( 'z', 'j' ), ( 'z', 'w' ), ( 'z', 'w', 's' ), ( 'z', 'm' )}

我怎样才能使字典看起来像:

{( 'a', 'b' ,'c' ): {( 'a', 'b', 'c' )}, ( 'a' ,'d' ,'b' ): {( 'a' ,'d' ,'b' )}, ( 'z' ): {('z'),('z','j'),('z','w'),('z','w','s'),('z','m')}, ( 'z', 'j' ): {('z', 'j')}, ('z', 'w'): {('z','w'), ('z', 'w', 's')}}

顺序无关紧要,它必须包含每个元素。比如因为值('z', 'w', 's')包含('z')('z','w'),它也添加到这些键。

【问题讨论】:

  • 你能提供你到目前为止所尝试的吗?
  • 这有点不可能,因为集合是无序的。
  • 此网站不是编码服务。
  • @TigerhawkT3 这是一个有效的问题。该问题没有明确要求代码。
  • @KannappanSirchabesan - 不,不是,是的。如果你不认为它要求代码,你认为它要求什么?它读起来像一个家庭作业转储。

标签: python dictionary set


【解决方案1】:

当然不是最有效的:

myset = {( 'a', 'b', 'c' ), ( 'a', 'd', 'b' ), ( 'z',), ( 'z', 'j' ), ( 'z', 'w' ), ( 'z', 'w', 's' ), ( 'z', 'm' )}
dict_of_set = {k: set(x for x in myset if set(k).issubset(x)) for k in myset}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-30
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 2014-01-21
    • 2022-09-23
    相关资源
    最近更新 更多