因此,例如,我有列表= [1,[2,[3,[5,[5]]]]]結果列表將是[ 1,3]。使多維列表平坦,其中列表等於其平均值
我現在有這個,
def avg(mylist):
if mylist == []:
return mylist
elif type(mylist[0]) == list:
mylist[0] = 0 # average of mylist[0]
return mylist[:1]+avg(mylist[1:])
elif type(mylist[0]) == float:
return mylist[:1]+avg(mylist[1:])
其中一期工程,我希望它太的方式,但我不能找到一種方法來設置MYLIST [0] = MYLIST [0]的平均水平。我也嘗試了很多不同的方法,但我找不到一個可行的方法。
編輯:我試過的東西的另一個例子。
total = 0
nosublist=True
if mylist == []:
return mylist
for x in mylist:
if type(x) == list:
nosublist=False
if nosublist:
return mylist[:1]+average(mylist[1:])
elif not nosublist:
for x in mylist:
if type(x) == list:
total += average(x)
else:
total += x
mylist[0] = total/len(mylist)
return average(mylist[:1])+average(mylist[1:])
如何列表平爲[1,3]?我確實知道了 – galaxyan
我假設你知道如何計算平均值,所以...請給出一個明確的例子或兩個你的意思。另外,請提供基本代碼,以用您的一種失敗方法重現問題。 – Prune
您是否嘗試創建所有嵌套數組平均值或類似的數組?如果你要求其他人這樣做會出現什麼問題? –