我我的代碼,我有兩個列表拉鍊()函數結合的字典從列表的字典計算平均數,蟒蛇
self.dict = OrderedDict(zip(self.name,self.unit))
清單將作爲參數... var=class([[1,2,4,7],["y","y","t"],[11.1,12.3,6]],name=["num1","letter","num2"])
在一個點上應該有一個函數來檢查每個括號中的項目是否只有數字。例如int=[1,2,3]
如果這是真的,程序將計算每個數字唯一列表的平均值。並打印出值num1 = 3.5 num2 = 9.8
(如表):
num1 num2
3.5 9.8
首先,我用這個做一個新的列表:
for i in range(len(self.unit)):
if all(isinstance(item, (int,float)) for item in self.unit[i]):
self.new_l.append(self.unit[i])
之後,我(在其他功能)創建一個名爲self.sum_l
新名單其中將每個號碼列表的平均值放入新列表的列表中(在這個例子中,我得到兩個平均值)。
self.sum_l.append([sum(self.new_1[i])/float(len(self.new_1[i]))])
之後,我做它使用self.name
和self.sum_1
名單
self.nov_slovar = OrderedDict(zip(self.ime, self.seznam_vsot))
的正常工作一個新的字典,但我面臨的問題是什麼?當我創建一個新的字典由於self.sum_1
列表中有列表,所以在形成新的字典時,代碼會從列表name
中取出儘可能多的元素。但事情是,它需要前兩(在我的情況)。這使得輸出絕對不正確:
num1 letter
4.6 9.8
所以我的問題是,我應該怎麼做,以防止發生。我嘗試了很多東西。甚至試圖計算在字典中值的總和,但我得到的錯誤
我剛剛失去了你對不起,什麼是'4.6'? '(1 + 2 + 4 + 7)/ 4 = 3.5'是它的預期結果還是你得到的錯誤? – zenpoy
這是一個例子,我用頭計算(錯誤地:P)。那不是重點。問題是,我想計算僅包含浮點或整數(或兩者)的列表的平均值(每個列表)。 我的方法在顯示正確名稱時出現問題。 – user1509923
它有多少碼?你可以做一個獨立的例子來展示問題,以便我們看到整個事情嗎? – Evert