【问题标题】:Can a dictionary key have multiple values?字典键可以有多个值吗?
【发布时间】:2021-09-01 17:49:04
【问题描述】:

我正在尝试以如下方式组织我的数据:

    { 'Month' = [
         'Day1' : 8
         'Day2' : 6
         'Day3' : 9
         'Day4' : 1
         'Day5' : 2
       ]
    }

在某种程度上,我试图让它成为一个字典,其中月份是键,日期是月份的值。为了这个例子,我们假设上面列出的每一天的数字代表我当天在相机中拍摄了多少张照片。

这可能吗?

【问题讨论】:

  • 是的,字典值也可以是集合

标签: python dictionary key key-value


【解决方案1】:

是的,有可能,就像这样:

    { 'Month': {
         'Day1': 8,
         'Day2': 6,
         'Day3': 9,
         'Day4': 1,
         'Day5': 2
       }
    }

dict键的值可以是collection的任意类型。

【讨论】:

  • 谢谢!目前正在尝试此解决方案以及提供的其他解决方案。试图看看哪一个最适合我正在编写的当前脚本。我希望我能接受这两个答案
  • @rand03 这实际上与我编写的代码完全相同(除了那些 PEP8 违规),但如果您愿意,您仍然可以投票赞成这个答案,并且这个答案可能更好地解释(提供链接)关于字典值可以是什么
【解决方案2】:

类似这样的:

{'Month': {
     'Day1': 8,
     'Day2': 6,
     'Day3': 9,
     'Day4': 1,
     'Day5': 2
    }
}

只是嵌套字典(键和冒号之间也没有空格,但值和冒号之间有空格,这是 PEP8 违规:PEP 8: E203 whitespace before ':'PEP 8: E231 missing whitespace after ':',这也是 PEP 8: E201 whitespace after '{'

【讨论】:

  • 啊,谢谢!!我很感激。所以如果假设我正在迭代这个并想附加这个信息,我会写 'month = day = #_of_pics' 吗?我知道这不是最好的写法,但我希望这是有道理的
  • 例如,如果你想增加数字,你可以像dct['Month']['Day1'] += 1 那样做某事,或者说它是一个列表:dct['Month']['Day1'].append(sth) 其中 dct 是存储这个字典的变量,如果你想然后再添加一天:dct['Month']['New_day'] = value 因为您要添加字典键,所以可以找到有关字典的更多信息 here
猜你喜欢
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 1970-01-01
  • 2011-10-12
  • 1970-01-01
  • 1970-01-01
  • 2011-09-29
相关资源
最近更新 更多