如何使用 values() 或 iteritems() 访问 table 中的值

How can I have access to values in a table with values() or iteritems()

我创建了一个包含header行、header列、列id和行id的table(上图是table的一个非常简单的例子结构),并使用特定 class 的一些方法将 table 转换为加权平面 cross-tab 和枢轴交叉表等。现在我正在寻找的是测试是否table 中的值是 float ,所以我开发了一个 unittest 测试套件。我使用了 Table.values() 或 Table.iteritems(),但这两种方法遍历了所有 Table,包括 headers 和 ids,它们都是字符串,因此测试失败。有没有人有更好的解决方案来只迭代 table 的值而不考虑 table 中的标签?

    row_ids=['g','p']
    col_ids=['r','c']
    values = { ('g','r'): 0.75, ('g','c'): 0.25, ('p','r'): 0.5, ('p','c'): 0.5, }
    header_row = { 'id':'forme', 'type':'string' }
    header_col = { 'id':'taille', 'type': 'string', } 

我正在寻找的是只读取值字典中的值,但是使用 values() 和 items() 输出是键和值的元组。这就是测试失败的原因。

我想你的意思是你想这样做:

for k, v in values.iteritems():
    if k: # if k has a value indicating this is a header:
        continue  # skip it
    if not isinstance(v, float):
        print 'bad value: ', k, v