簡體   English   中英

無序映射<int, vector<float> &gt; 等效於 Python</int,>

[英]unordered_map<int, vector<float>> equivalent in Python

我需要 Python 中的結構,它將 integer 索引映射到浮點數向量。 我的數據是這樣的:

[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中這個等價的結構是什么?

這樣的字典和列表怎么樣:

>>> 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]
>>> 

鍵可以是整數,並且關聯的值可以存儲為列表。 Python中的Dictionary是一個哈希圖,其復雜度為O(1)

這種格式的字典 -> { (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

我會去一個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)

如果不是太多數據

在 python 中,我們可以將此數據結構作為字典。 字典用於將數據值存儲在鍵:值對中。 字典示例: mydict = { "brand": "Ford", "model": "Mustang", "year": 1964 } 我們還可以執行各種操作,例如添加、刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM