質問編集履歴
1
自分なりに書いたコードを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,14 +1,33 @@
|
|
1
1
|
pythonの多重リストで処理の仕方がわからなくて困っています。
|
2
2
|
|
3
3
|
多重リストの2つめをキーとして、リスト内に同じものがあれば3つめの要素を足し算をしたいです。
|
4
|
-
どのようなコードにしたら実現できるのでしょうか?
|
5
4
|
|
5
|
+
listcode=[['A', 'ABC', '1'], ['B', 'DEF', '2'], ['C', 'ABC', '3'], ['D', 'XYZ', '4']]
|
6
|
+
|
7
|
+
書き出したい出力結果
|
8
|
+
[['A', 'ABC', '4'], ['B', 'DEF', '2'], ['D', 'XYZ', '4']]
|
9
|
+
可能であれば以下の出力結果も欲しい
|
10
|
+
[['A+C', 'ABC', '4'], ['B', 'DEF', '2'], ['D', 'XYZ', '4']]
|
11
|
+
|
12
|
+
自分なりにコードを書いてみましたが、うまく動作しません。どのようなコードにしたら実現できるのでしょうか?
|
13
|
+
|
6
14
|
```ここに言語を入力
|
7
15
|
listcode=[['A', 'ABC', '1'], ['B', 'DEF', '2'], ['C', 'ABC', '3'], ['D', 'XYZ', '4']]
|
8
16
|
|
17
|
+
y=1
|
18
|
+
for i in range(0,len(listcode)):
|
19
|
+
if y==len(listcode):
|
20
|
+
pass
|
21
|
+
else:
|
22
|
+
for x in range(1,len(listcode)-1):
|
23
|
+
if listcode[i][1]==listcode[x][1]:
|
24
|
+
listcode[i][2]=int(listcode[i][2])+int(listcode[x][2])
|
25
|
+
del listcode[x]
|
26
|
+
x=x-1
|
9
27
|
|
10
|
-
|
28
|
+
y=y+1
|
11
|
-
|
29
|
+
|
30
|
+
|
12
|
-
|
31
|
+
print(listcode)
|
13
|
-
|
32
|
+
|
14
33
|
```
|