Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何迭代一个被dict索引的dict?_Python_Dictionary - Fatal编程技术网

Python 如何迭代一个被dict索引的dict?

Python 如何迭代一个被dict索引的dict?,python,dictionary,Python,Dictionary,如果我有一个迭代,比如: for index in my_dict: print index.keys() 在这种情况下,索引可能是字典吗?如果可能的话,你能给我举个例子说明我的字典是什么样子的吗?索引不能是字典,因为字典键必须是可散列类型。因为字典本身是不可散列的,所以它们不能作为另一本字典的键 for index in my_dict 迭代字典键并将产生与相同的结果 for index in my_dict.keys() 但是,可以将一个字典嵌套为另一个字典的值: {'paren

如果我有一个迭代,比如:

for index in my_dict:
   print index.keys()
在这种情况下,索引可能是字典吗?如果可能的话,你能给我举个例子说明我的字典是什么样子的吗?

索引不能是字典,因为字典键必须是可散列类型。因为字典本身是不可散列的,所以它们不能作为另一本字典的键

for index in my_dict
迭代字典键并将产生与相同的结果

for index in my_dict.keys()
但是,可以将一个字典嵌套为另一个字典的值:

{'parent': {'nested': 'some value'}}
#          ^   nested dictionary  ^

字典在Python中是不可损坏的类型,因此另一个字典不能用作父字典的键或索引,但可以用作值

那本字典看起来像这样:

my_dict = {'example': {'key': 0}}
for key in my_dict:
    print(my_dict[key].keys())
如果您想在其上循环并选择字典而不是键,则代码将如下所示:

my_dict = {'example': {'key': 0}}
for key in my_dict:
    print(my_dict[key].keys())
如果您一直遵循这个示例,那么应该只输出['key']


这不是您问题的一部分,但我建议您使用元组进行所需的数据存储和访问,如果您愿意,我也可以向您演示如何进行此操作。

您是否在问,是否可以使用嵌套字典?如果是,则是,但嵌套字典将是值,并且您正在迭代不能是字典的键。如前所述,该代码将不起作用。每个文档:字典的键需要是不可变类型,所以答案是否定的,在这种情况下,“索引”不能是dict