我需要Python中的一个结构,它将整数索引映射到浮点数的向量。我的数据如下:
[0] = {1.0, 1.0, 1.0, 1.0}
[1] = {0.5, 1.0}
如果我用C ++编写,我会使用以下代码进行定义/添加/访问,如下所示:
std::unordered_map<int, std::vector<float>> VertexWeights;
VertexWeights[0].push_back(0.0f);
vertexWeights[0].push_back(1.0f);
vertexWeights[13].push_back(0.5f);
std::cout <<vertexWeights[0][0];
Python的等效结构是什么?
答案 0 :(得分:2)
字典和列表怎么样:
Green: F2:F20>=7
Red : F2:F20<4
Yello: 7>F2:F20>=4
键可以是整数,关联值可以存储为列表。 Python中的字典是一个哈希映射,复杂性是分摊的>>> d = {0: [1.0, 1.0, 1.0, 1.0], 1: [0.5, 1.0]}
>>> d[0]
[1.0, 1.0, 1.0, 1.0]
>>> d[1]
[0.5, 1.0]
>>>
。
答案 1 :(得分:2)
此格式的 dictionary - &gt; { (int) key : (list) value }
d = {} # Initialize empty dictionary.
d[0] = [1.0, 1.0, 1.0, 1.0] # Place key 0 in d, and map this array to it.
print d[0]
d[1] = [0.5, 1.0]
print d[1]
>>> [1.0, 1.0, 1.0, 1.0]
>>> [0.5, 1.0]
print d[0][0] # std::cout <<vertexWeights[0][0];
>>> 1.0
答案 2 :(得分:0)
我会选择整数作为键的dict
和作为项目的list
,例如
m = dict()
m[0] = list()
m[0].append(1.0)
m[0].append(0.5)
m[13] = list()
m[13].append(13.0)
如果数据不是太多