根据命名密钥的数量访问数组

时间:2014-10-02 18:12:57

标签: python json python-3.x

json_data = {"fruits": ["apple", "banana", "orange"],"vegetables":["tomatoe", "cucumber", "potato"]}

如何在不必包含数字键的情况下以数字方式访问数组?

前:

json_data[0][0] #result should equal "apple"

2 个答案:

答案 0 :(得分:1)

你不能。外部容器是无序字典,而不是列表,因此索引0是无意义的。如果您有某种方式对键进行排序,则可以使用dict.keys()函数来构建列表和索引。问题是,keys()可以按任何顺序出现,所以你仍然需要一些其他的排序原则。

答案 1 :(得分:0)

json_data[list(json_data.keys())[0]][0]

这是怎么做的,但它是非常错误的,丑陋的和unpythonic,你可能应该寻找另一种方法来做到这一点。

从内部json_data.keys()开始返回所有键

list()将这些键转换为列表[0]后,访问列表中的第0项

围绕它的

json_data[]按键访问列表

[0]访问返回列表中的第0个项目后

此外,它不能保证100%的工作时间,因为不保证json_data.keys()始终以相同的顺序输出。