如何使用values()或iteritems()

时间:2015-11-08 12:51:11

标签: python python-2.7 dictionary python-unittest

image of sample table

我创建了一个包含标题行,标题列,列ID和行ID的表(上图是一个非常简单的表结构示例),并使用了某些特定类的方法将表转换为加权现在我正在寻找的是测试表中的值是否为浮点数,所以我开发了一个单元测试套件。我使用了Table.values()或Table.iteritems(),但这两个方法遍历所有表,包括所有字符串的标题和id,因此测试失败。有没有人有更好的解决方案只迭代表的值而不管表中的标签?

    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(),输出是键和值的元组。这就是测试失败的原因。

1 个答案:

答案 0 :(得分:0)

我认为你的意思是你想要这样做:

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