在python中使用哪种数据结构

在python中使用哪种数据结构,python,dictionary,data-structures,Python,Dictionary,Data Structures,我有以下,诚然是简短的,csv形式的“表格”: "Some Class"|"Type 10"|"Type 11" "Class 1" | 0.971 | 0.968 "Class 2" | 0.995 | 0.996 "Class 3" | 0.970 | 0.971 "Class 4" | 0.969 | 0.970

我有以下,诚然是简短的,csv形式的“表格”:

"Some Class"|"Type 10"|"Type 11"
"Class 1"   |  0.971  |  0.968
"Class 2"   |  0.995  |  0.996
"Class 3"   |  0.970  |  0.971
"Class 4"   |  0.969  |  0.970
"Class 5"   |  0.992  |  0.998
"Class 6"   |  0.992  |  0.998
"Class 7"   |  0.980  |  0.984
"Class 8"   |  0.973  |  0.981
"Class 9"   |  0.969  |  0.978
"Class 10"  |  0.992  |  0.998
在使用从上述“表”中检索系数的方法以及在计算中使用系数的方法构建python类时,我想知道应该使用哪种数据结构该类将明确要求输入使用哪个类。计算中始终涉及类型10和类型11

更新:上面的类是字符串,实际上是对类类型的简短描述

到目前为止,我正在进行如下试验:

ec['class'] = ec.get('class', {'type_a': float(), 'type_b': float()})
然后可以使用,例如,作为

ec['class']['type_b']

在这种情况下,需要注意哪些事项以及最佳实践是什么?

如果类总是有序的,我想最简单的方法就是在列表中包含一个列表。对我来说,当我需要在计算中使用这些数字时更方便

我假设您逐行读取数据并得到一个列表。请注意,类1现在位于表中的位置0。每个类别列表都有一个子列表,位置0中的类型为10,位置1中的类型为11

data = ['Some Class|Type 10|Type 11',
'Class 1|0.971|0.968',
'Class 2|0.995|0.996',
'Class 3|0.970|0.971',
'Class 4|0.969|0.970',
'Class 5|0.992|0.998',
'Class 6|0.992|0.998',
'Class 7|0.980|0.984',
'Class 8|0.973|0.981',
'Class 9|0.969|0.978',
'Class 10|0.992|0.998']

# To get rid of the title
data.pop(0)

ec = []

for datarow in data:
    dsplit = datarow.split('|')
    ec.append([dsplit[1],dsplit[2]])

您也可以通过列表理解来缩短这段代码,但我暂时无法理解

我建议它支持快速csv加载、快速查找、矢量化操作。我希望在类的实现中尽可能独立。您可以使用pandas加载数据,然后将其传输到您想要的任何类中。@Blackcat OP不想出于任何原因使用外部模块,这个问题更像是一个课堂设计问题,你就不能像这样编一本字典吗