samplelist = [( 'A'、 'Pass'、10)、( 'A'、 'Pass'、20)、( 'A'、 'Failed'、5)、( 'B'、 'Pass'、10) 、( 'B'、 'パス'、5)]
期待される出力= [( 'A'、 'Pass'、30)、( 'A'、 'Failed'、5)、( 'B'、 'Pass'、15)]
私はこのコードを参照として使用しましたが、それでも機能させることができません:
samplelist = [('A', 'Pass', 10), ('A', 'Pass', 20), ('A', 'Failed', 5), ('B', 'Pass', 10), ('B', 'Pass', 5) ]
i used this code as my reference but still cant get it to work :
from collections import defaultdict
d = defaultdict(int)
for letter, value in samplelist:
d[letter] += value
res = list(d.items())
print(res)
# expected output = [('A', 'Pass', 30), ('A', 'Failed', 5), ('B', 'Pass', 15) ]
リストの各タプルには3つの要素があるため、それらを解凍するには3つの変数が必要です。
samplelist = [('A', 'Pass', 10), ('A', 'Pass', 20), ('A', 'Failed', 5), ('B', 'Pass', 10), ('B', 'Pass', 5) ]
from collections import defaultdict
d = defaultdict(int)
for letter, status, value in samplelist:
d[(letter, status)] += value
res = [key + (val,) for key, val in d.items()] # convert to required format
print(res)
結果:
[('A', 'Pass', 30), ('A', 'Failed', 5), ('B', 'Pass', 15)]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加