【问题标题】:How to access this dictionary of dictionaries with a numbered index in Python?如何在 Python 中访问带有编号索引的字典字典?
【发布时间】:2014-05-29 08:40:52
【问题描述】:

我有一本这样的字典;

{ 'A': {'xx': '2', 'yy': '3'}, 'B': {'xx': '4', 'yy': '5'} }

我希望能够通过数字索引访问这本词典。

我想把它改成这样的东西;

[{'key': 'A', 'xx': '2', 'yy': '3'}, {'key':'B', 'xx': '4', 'yy': '5'}]

如何在 Python 中做到这一点?我正在使用 Python 2.7

非常感谢。

编辑:在最初的答案之后对问题进行了编辑。抱歉,在最初的答案出现之前,我并不清楚我到底想要什么。

【问题讨论】:

  • 语法不正确。您不能拥有(a : ...)。请改写您的问题。
  • 我认为您的初始方法很好。无需更改任何内容
  • @sshashank124:对不起,我的 Python 仍然很弱,无法更正语法。我只需要能够通过索引访问字典。不在乎使用什么结构。谢谢。
  • 你的意思是my_dict[1]而不是my_dict['B']
  • 您想访问的内容,例如 A 及其值

标签: python python-2.7 dictionary tuples


【解决方案1】:
b={ 'A': {'xx': '2', 'yy': '3'}, 'B': {'xx': '4', 'yy': '5'} }

下面是检查你的索引如'A','B'是否在字典中,如果它们在那里你可以获取它们by b[<ur index>]

if 'A' in b.keys():
    print b['A']
c=[]

下面的函数用于获取dict的所有key和value

 for key,value in b.items():
        c.append(value)

print c
#output:[{'xx': '2', 'yy': '3'}, {'xx': '4', 'yy': '5'}]

修改后

c=[]

for key,value in b.items():
        value['key']=key
        c.append(value)
#output:[{'yy': '3', 'xx': '2', 'key': 'A'}, {'yy': '5', 'xx': '4', 'key': 'B'}]

【讨论】:

  • 对不起,我对原始问题做了一些更改。感谢您的帮助。
  • @user3293156 这很容易。你也可以把它拿出来
  • @user3293156 立即查看我的答案
【解决方案2】:

根据您的评论,您可以使用dict.values()

x = { 'A': {'xx': '2', 'yy': '3'}, 'B': {'xx': '4', 'yy': '5'}}

>>> x = x.values()
[{'xx': '2', 'yy': '3'}, {'xx': '4', 'yy': '5'}]

现在,您可以访问 x[0]x[1] 的值,而不是 x['A']x['B']

【讨论】:

  • 如果我想将输出更改为 [{'key': 'A', 'xx': '2', 'yy': '3'}, {'key':'B', 'xx': '4', 'yy': '5'}] 怎么办?我已经相应地修改了这个问题。感谢您的帮助。
猜你喜欢
  • 2021-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-13
  • 2014-06-06
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
相关资源
最近更新 更多