在列表python中访问字典

2024-10-01 04:45:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了这个列表

counterDict = [
  ['countR0', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR1', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR7', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR12', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR14', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR17', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR18', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR19', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR20', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR21', {0:0,1:0,2:0,3:0,4:0,5:0}],
  ['countR22', {0:0,1:0,2:0,3:0,4:0,5:0}]
]

基本上,我所做的是使用我们的系统软件循环上述内容,其中包含一些在普通python集合中不可用的额外内容。但不管我们使用的是python2.7,我所做的是使用上面的代码作为计数器。我需要数数,但是在每一行不同的问题中都会看到一个值(键)。我只是不知道如何正确地访问上面的内容。只要把它放在python编译器中并尝试访问它,我就感到困惑,因为它返回的不是我所期望的,所以任何关于如何正确访问它的帮助都将非常有用。如果我写错了,请告诉我。在


Tags: 代码内容列表counterdictcountr1countr7countr21countr19
2条回答

一个键在字典中只能出现一次,所以如果要计算键数,那么当它存在时,要么得到0(它不存在),要么得到1。在

要访问字典,counterDict[0][1]将给您{0:0,1:0,2:0,3:0,4:0,5:0}。但是我想你想要的是:

counterDict = {'R0': {0:0,1:0,2:0,3:0,4:0,5:0},
               'R01': {0:0,1:0,2:0,3:0,4:0,5:0}}

现在可以执行以下操作:

^{pr2}$

要将现有列表转换为此格式:

counterDict = {r[0][5:]: r[1] for r in counterDict}

counterDict是一个包含11个元素的列表(它的名字并不是dict)

counterDict的每个元素也是一个列表,包含两个元素。在

counterDict每个元素的第一个元素是字符串,第二个元素是字典。在

counterDict[0]是一个列表:

['countR0', {0:0,1:0,2:0,3:0,4:0,5:0}]

因此counterDict[0][0]是该列表的第一个元素:'countR0'

如果你想要字典,你需要

counterDict[0][1]

{0:0,1:0,2:0,3:0,4:0,5:0}

还有字典里的一个元素:

counterDict[0][1]['0'] -> 0

我想你可能是说

counterDict = [
  {'countR0': {0:0,1:0,2:0,3:0,4:0,5:0}}
]

你会说

counterDict[0]['countR0']['0']

相关问题 更多 >