質問するログイン新規登録

質問編集履歴

1

自分なりに書いたコードを追加

2020/07/03 12:30

投稿

Platycerium
Platycerium

スコア34

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
- [['A', 'ABC', '4'], ['B', 'DEF', '2'], ['D', 'XYZ', '4']]
29
+
30
+
12
- #可能であれば以下の出力結果も欲しい
31
+ print(listcode)
13
- [['A+C', 'ABC', '4'], ['B', 'DEF', '2'], ['D', 'XYZ', '4']]
32
+
14
33
  ```