回答編集履歴
3
d
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## コードの内容とエラーの原因
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
ループでは次の1~3の処理が行われています。
|
2
6
|
|
3
7
|
|
@@ -14,7 +18,11 @@
|
|
14
18
|
|
15
19
|
|
16
20
|
|
21
|
+
## リストの各文字を大文字にするコード
|
22
|
+
|
23
|
+
|
24
|
+
|
17
|
-
コードを簡略化すると以下のようになります。
|
25
|
+
先程のコードを簡略化すると以下のようになります。
|
18
26
|
|
19
27
|
|
20
28
|
|
2
d
test
CHANGED
@@ -11,3 +11,47 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
もし、3番目を `tv = new` としてしまうと、リストであったはずの `tv` が上書きされてしまい、次のループで1に戻って来た時点で `tv` がリストではなく、先程の new の値になってしまっているので、エラーとなります。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
コードを簡略化すると以下のようになります。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
```python
|
22
|
+
|
23
|
+
tv = ["GOT", "Narcos", "Vice"]
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
for i in range(len(tv)):
|
28
|
+
|
29
|
+
# i 番目の要素を大文字にする。
|
30
|
+
|
31
|
+
tv[i] = tv[i].upper()
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
print(tv) # ['GOT', 'NARCOS', 'VICE']
|
36
|
+
|
37
|
+
```
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
内包記法でやると以下
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
```python
|
46
|
+
|
47
|
+
tv = ["GOT", "Narcos", "Vice"]
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
# すべての要素を大文字にする。
|
52
|
+
|
53
|
+
tv = [x.upper() for x in tv]
|
54
|
+
|
55
|
+
print(tv) # ['GOT', 'NARCOS', 'VICE']
|
56
|
+
|
57
|
+
```
|
1
d
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
1. リスト tv の i 番目の要素を `tv[i]` で取得し、変数 `new` に代入
|
5
|
+
1. リスト `tv` の `i` 番目の要素を `tv[i]` で取得し、変数 `new` に代入する。
|
6
6
|
|
7
7
|
2. `new = new.upper()` で大文字にする。
|
8
8
|
|
@@ -10,4 +10,4 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
もし、3番目を `tv = new` としてしまうと、リストであった `tv` が上書きされてしまい、次のループで1に来た時点で `tv` がリストではなく、先程の new の値になってしまっているので、エラーとなります。
|
13
|
+
もし、3番目を `tv = new` としてしまうと、リストであったはずの `tv` が上書きされてしまい、次のループで1に戻って来た時点で `tv` がリストではなく、先程の new の値になってしまっているので、エラーとなります。
|