鑑於收入值的表這樣的:如何識別元組的「鍵」/三元組元素的列表?
的一個關鍵點需要注意的(和我的問題的核心)是該品牌名稱將幾乎一如既往,但並非總是如此,包含相應的產品名稱。在最後一次香蕉入境的情況下,它沒有。
我將提取的dict
品牌< - >收入雙,拳頭佔那些有多個條目品牌,在這些情況下總結,使用方法描述here。所以:
revenuePerBrandDict = {}
brandRevenueTuples = []
i=0
for brand in ourTab.columns[1][1:-1]: # ignore first (zeroth) and last row
brandRevenueTuples.append((campaign.value, round(ourTab.columns[3][i].value,2)))
i+=1
for key, value in brandRevenueTuples:
revenuePerBrandDict[key] = revenuePerBrandDict.get(key, 0) + value
我會再交叉引用的鍵和值在這個字典每個字典(費用的香蕉快譯通,獼猴桃的字典費用等),並從收入減去支出,每件商品。這些類型的字典將香蕉表,獼猴桃等表中提取看起來像這樣:
如果品牌名稱總是在收益表中包含的產品名稱,然後以彙編適當收集與香蕉開支字典相比較的收入價值,例如,我將提取所有名稱中包含「香蕉」的品牌,並在香蕉費用字典中匹配鍵,對其值進行提取。
但它不,所以我需要另一種方式知道在收入字典中,'OtherBrand'是一個香蕉。(香蕉字典,我已經知道它是香蕉,因爲它來自香蕉表)。而不是提取品牌< - >收入對的dict
,我可以提取(產品,品牌,收入)的元組的列表或元組,現在我們有產品列提供的附加信息。但是,由於一個元組沒有一個關鍵的概念,我怎麼遍歷整個這個新的集合,以希望的方式(與識別即是OtherBrand是一個香蕉等)提取每個元組的收入
標題沒有按真的不符合這個問題,但我想不出一個簡明扼要地總結問題的更好方法... – Pyderman
*您必須定義哪個字段是邏輯鍵,或提供可爲每個元組構建鍵的映射函數。也就是說,在應用'密鑰函數'後,結果是'(key(t),t)'序列,其中第一項現在保證是密鑰。如果問題是關於*分組的話 - 即。最後是'(k,list_of_t)'的序列或字典,其中k是不同的 - 然後是關於分組,並且與確定關鍵字無關,而關鍵字又是.. *你*必須做的。 – user2864740
@ user2864740是的,你是對的,它更像是一個分組問題,而不是確定/選擇密鑰的問題。 – Pyderman