0

我需要这种形式的数据结构:

   test_id1: resultValue, timeChecked
   test_id2: resultValue, timeChecked
   test_id3: resultValue, timeChecked
   test_id4: resultValue, timeChecked
   ...

到目前为止,我只使用带有 id 和结果的键值的字典来处理它。但我想添加我检查的时间。最好的方法是什么?我可以将值设为元组吗?或者在这种情况下一个新的类更适合?我的班级需要是什么样子才能适应上述情况?

4

3 回答 3

2

一个轻量级的替代方法是创建一个 1) 保留元组的简单性和 2) 允许命名(而不是位置)字段访问的类namedtuple

from collections import namedtuple

Record = namedtuple("Record", ["resultValue", "timeChecked"])
s = {"test_id1": Record("res1", "time1"), "test_id2": Record("res2", "time2")}

您现在可以使用其中的值,dict就好像您有一个定义了resultValueandtimeChecked字段的类...

>>> s["test_id1"].resultValue
'res1'

...或作为简单的元组:

>>> a, b = s["test_id1"]
>>> print a, b
res1 time1
于 2013-01-09T01:13:15.083 回答
0

我可以将值设为元组吗?

是的,我不确定你为什么不想这样做。如果是为了使查找更容易阅读,您甚至可以将值设为另一个字典。

{"test_id1" : (resultValue, timeChecked)}

或者

{"test_id1" : {"resultValue": resultValue, "timeChecked" : timeChecked }}

我认为对于这种情况来说,一个全新的课程是矫枉过正的。

于 2013-01-09T01:08:50.207 回答
0

您还可以为整个结构使用pandas DataFrame。除非您打算进行一些严肃的数据处理,否则这可能有点矫枉过正,但了解并直接解决您的问题是一件好事。

于 2013-01-09T01:53:11.113 回答