我发现自己需要遍历一个字典列表,而且每次迭代都需要我正在迭代的字典的名称。
这是一个MWE(与本例无关):
dict1 = {...}
dicta = {...}
dict666 = {...}
dict_list = [dict1, dicta, dict666]
for dc in dict_list:
# Insert command that should replace ???
print 'The name of the dictionary is: ', ???
如果我只使用dc
其中???
,它将打印字典的全部内容。我怎样才能知道正在使用的词典的名字?
对象在Python中没有名称,可以为同一对象指定多个名称。
然而,一种面向对象的方法是对内置的
dict
字典类进行子类化并向其添加name
属性。它的实例的行为与普通词典完全一样,几乎可以在任何正常词典可以使用的地方使用。输出:
不要使用
dict_list
,如果需要他们的名字,请使用dict_dict
。但实际上,你不应该这样做。不要在变量名中嵌入有意义的信息。很难找到。或者做一个
dict_set
并在locals()
上迭代,但这比sin更难看。再一次:比罪还丑,但它确实有效。
您还应该考虑在每个字典中添加一个“name”键。
名字应该是:
相关问题 更多 >
编程相关推荐