質問編集履歴

4

追記

2023/01/13 03:17

投稿

sasaki0628
sasaki0628

スコア106

test CHANGED
File without changes
test CHANGED
@@ -141,3 +141,6 @@
141
141
  5. リストeには不要なデータのリスト番号が格納されている。変数listに対して、不要なデータの削除を実行する。
142
142
 
143
143
  可読性が低いコードになっています。より良く書けるコードがあれば教えていただきたいです。
144
+
145
+ ▽追記
146
+ みなさま回答ありがとうございました。自分の実力ではどれをベストアンサーにすればよいかわからないので、1ヵ月ほど様子を見て「グッド」の数が多い回答をベストアンサーにして質問を閉めさせていただきます。ありがとうございました。

3

修正

2023/01/13 01:29

投稿

sasaki0628
sasaki0628

スコア106

test CHANGED
File without changes
test CHANGED
@@ -131,4 +131,13 @@
131
131
  [{'id': 1, 'fruits': 'apple', 'cd': [1, 2, 4]}, {'id': 2, 'fruits': 'banana', 'cd': [5]}, {'id': 3, 'fruits': 'grape', 'cd': [3, 6, 7]}]
132
132
  ```
133
133
 
134
- ※質問内容修正中です
134
+ 【コードの流れ】
135
+ 1. 変数 list にデータを格納する。
136
+ 2. 変数 id_1 の初期値を 0 にする。
137
+ 3. リスト型の変数 e を用意する。
138
+ 4. list の各データに対して、id の値と id_1 の値を比較する。
139
+ 4-1. id の値と id_1 の値が異なるならば(if文のelseの処理)1つ目のデータと判断し、id_1 の値を更新する。cd の値をリスト型に変更する。cd_1 というリスト型の変数に cd の値を代入する。
140
+ 4-2. id の値と id_1 の値値が同じならば、2つ目以降のデータと判断する。cd_1 に cd の値を append する。cd_1 の変数を更新する。リストe にひとつ前のリスト番号を格納する。
141
+ 5. リストeには不要なデータのリスト番号が格納されている。変数listに対して、不要なデータの削除を実行する。
142
+
143
+ 可読性が低いコードになっています。より良く書けるコードがあれば教えていただきたいです。

2

変更

2023/01/13 01:15

投稿

sasaki0628
sasaki0628

スコア106

test CHANGED
File without changes
test CHANGED
@@ -102,8 +102,8 @@
102
102
  ]
103
103
 
104
104
  id_1 = 0 # 初期値
105
- cd_1 = [] # 初期値
106
105
  j = 0 # 初期値
106
+
107
107
  e = []
108
108
 
109
109
  for item in list:
@@ -114,7 +114,8 @@
114
114
  e.append(j - 1)
115
115
  else:
116
116
  id_1 = item["id"]
117
+ item["cd"] = [item["cd"]]
117
- cd_1 = [item["cd"]]
118
+ cd_1 = item["cd"]
118
119
  j += 1
119
120
 
120
121
  j = 0 # 初期値
@@ -127,9 +128,7 @@
127
128
  実行結果
128
129
  ```ここに言語を入力
129
130
  >>> list
130
- [{'id': 1, 'fruits': 'apple', 'cd': [1, 2, 4]}, {'id': 2, 'fruits': 'banana', 'cd': 5}, {'id': 3, 'fruits': 'grape', 'cd': [3, 6, 7]}]
131
+ [{'id': 1, 'fruits': 'apple', 'cd': [1, 2, 4]}, {'id': 2, 'fruits': 'banana', 'cd': [5]}, {'id': 3, 'fruits': 'grape', 'cd': [3, 6, 7]}]
131
132
  ```
132
133
 
133
- cd の個数がひとつのときに、[5] ではなく 5 となってしまうのですが、どうすればよいでしょうか。コードの中では、
134
- **cd_1 = [item["cd"]]**
135
- の箇所リスト型に変更していま
134
+ ※質問内容修正中です

1

ミス修正

2023/01/13 01:02

投稿

sasaki0628
sasaki0628

スコア106

test CHANGED
File without changes
test CHANGED
@@ -57,7 +57,7 @@
57
57
  {
58
58
  "id": 3,
59
59
  "fruits": "grape",
60
- "cd": [6,7]
60
+ "cd": [3,6,7]
61
61
  }
62
62
  ]
63
63
  ```