Python 通过它引用列表元素';姓名
我正在尝试扫描字典引用列表,以获得每个字典中的键数。如何引用元素的名称而不是字典的内容?审计目录列表中的每个元素都是对现有词典的引用Python 通过它引用列表元素';姓名,python,Python,我正在尝试扫描字典引用列表,以获得每个字典中的键数。如何引用元素的名称而不是字典的内容?审计目录列表中的每个元素都是对现有词典的引用 audit_dicts = [ osdata, weblogic, tomcat ] for i in audit_dicts: print "Length of the %s dictionary is %d lines." % (i.name(), len(i)) 我知道这与目录类型是字典有关,但是没有办法打印列表中元素的名称吗?我基本上使用列表来存
audit_dicts = [ osdata, weblogic, tomcat ]
for i in audit_dicts:
print "Length of the %s dictionary is %d lines." % (i.name(), len(i))
我知道这与目录类型是字典有关,但是没有办法打印列表中元素的名称吗?我基本上使用列表来存储所有这些字典,这样我就可以在一个循环中对它们执行多个操作。还有,有没有办法在同一个循环中声明这些词典?什么是蟒蛇式的方法?我目前有大约20种不同的数据分类法,但在从web数据构建词典之前,我只能对每一种分类法进行单独的研究
for i in audit_dicts:
i = {}
列表不包含名称,它们包含对其他对象的引用。如果您希望能够使用不止一个索引来引用元素,那么您应该使用另一个数据结构,例如
dict
列表不包含名称,它们包含对其他对象的引用。如果您希望能够使用不止一个索引来引用元素,那么您应该使用另一个数据结构,例如dict
如果为该对象设置了\uuu name\uuuu
属性,则可以使用该属性:
audit_dicts = [ osdata, weblogic, tomcat ]
for i in audit_dicts:
name = "unknown";
try:
if __name__ in i:
name = i.__name__;
except:
pass
print "Length of the %s dictionary is %d lines." % (name, len(i))
但最好使用dict而不是list:
audit_dicts = {
"osdata":osdata,
"weblogic":weblogic,
"tomcat":tomcat
}
for key in audit_dicts:
print "Length of the %s dictionary is %d lines." % (key, len(audit_dicts[key]))
如果为该对象设置了
\uuuuu name\uuuu
属性,则可以使用该属性:
audit_dicts = [ osdata, weblogic, tomcat ]
for i in audit_dicts:
name = "unknown";
try:
if __name__ in i:
name = i.__name__;
except:
pass
print "Length of the %s dictionary is %d lines." % (name, len(i))
但最好使用dict而不是list:
audit_dicts = {
"osdata":osdata,
"weblogic":weblogic,
"tomcat":tomcat
}
for key in audit_dicts:
print "Length of the %s dictionary is %d lines." % (key, len(audit_dicts[key]))
使用带有名称和实际dict引用的
dict
如何?为了澄清,您希望将变量名osdata
、weblogic
和tomcat
作为字符串?@delnan-正确!我基本上是想打印列表元素的名称……它恰好是指向字典的指针。听起来除了制作另一个引用这些字典的字典之外,没有其他方法了?@sigsegv,但这些不是列表元素的名称。这些是脚本命名空间中引用变量的名称。列表元素没有名称。您可能会从阅读中受益。使用带有名称和实际dict引用的dict
如何?为了澄清,您希望将变量名osdata
、weblogic
和tomcat
作为字符串?@delnan-正确!我基本上是想打印列表元素的名称……它恰好是指向字典的指针。听起来除了制作另一个引用这些字典的字典之外,没有其他方法了?@sigsegv,但这些不是列表元素的名称。这些是脚本命名空间中引用变量的名称。列表元素没有名称。您可能会从读取中受益。或者可能是一个namedtuple
。或者可能是一个namedtuple
。它提供对象类型的(非限定)名称,或者如果是函数,则提供在其定义处设置的名称。这几乎总是错误的,而且在任何情况下都不一定是audit\u dicts
中使用的变量名。而且检查的存在是多种方式的错误。我没有看到任何其他的解决方案。然后我认为它是不可能的,因为这个答案中的代码不起作用。它给出了对象类型的(不合格的)名称,或者它的定义中设置的名称,如果它是一个函数。这几乎总是错误的,而且在任何情况下都不一定是audit\u dicts
中使用的变量名。而且检查的存在是多方面的错误。我看不出任何其他的解决方案。然后我认为它是不可能的,因为这个答案中的代码不起作用。