一番左側の数字が含む時に右側の数字を数字を集計したい。
取り敢えず、setで重複をなくして、inで確認を取りましたが、
ココから、どの様にすれば良いですか?
appendで別の配列に入れても、合計しか出ません。
#望む出力結果
python
1[[3,330],[4,95]]
#現状のコード
python
1 2r=[[3, 20, 70], [3, 40, 170], [3, 59, 90], [4, 5, 55], [4, 25, 40]] 3 4t=[i[0] for i in r] 5t=list(set(t)) 6 7for i in t: 8 for n in r: 9# print(i,n) 10 if i in n: 11 print(i,n[2]) 12""" 133 70 143 170 153 90 164 55 174 40 18"""
過去の質問を参考にしましたが、引数が助長的になってしまいます。
改善する方法は有りますか?
#コード
r=[[3, 20, 70], [3, 40, 170], [3, 59, 90], [4, 5, 55], [4, 25, 40]] t=[i[0] for i in r] t=list(set(t)) d = {} for k,v,i in r: if k in d: d[k] += int(i) else: d[k] = int(i) for k,v in d.items(): print(k, v) """ 3 330 4 95 """
for文内のk,v,iなど省略したりできませんか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/16 22:32 編集