0

次の形式のデータ構造が必要です。

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

これまでは、id と結果のキー値を持つ辞書を使用するだけで対処してきました。しかし、チェックした時間を追加したいと思います。これを行う最良の方法は何ですか?値をタプルにすることはできますか? それとも、この場合、新しいクラスの方が適していますか? 上記に対応するには、私のクラスはどのように見える必要がありますか?

4

3 に答える 3

2

1)タプルの単純さを保持し、2)名前付き(位置ではなく)フィールドアクセスを許可するクラスを作成するための1つの軽量な代替手段はですnamedtuple

from collections import namedtuple

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

これで、フィールドが定義されdictたクラスがあるかのように、この値を使用できます。resultValuetimeChecked

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

...または単純なタプルとして:

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

構造全体にpandasDataFrame 使用することもできます。深刻なデータ処理を行う予定がない限り、それはおそらくやり過ぎでしょうが、問題について知って直接一致させるのは良いことです。

于 2013-01-09T01:53:11.113 に答える
0

値をタプルにすることはできますか?

はい、なぜあなたがしたくないのかよくわかりません。検索を読みやすくする場合は、値を別の辞書にすることもできます。

{"test_id1" : (resultValue, timeChecked)}

また

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

この状況では、まったく新しいクラスはやり過ぎだと思います。

于 2013-01-09T01:08:50.207 に答える