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

回答編集履歴

3

修正

2019/01/26 15:55

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -6,8 +6,8 @@
6
6
 
7
7
  あるいは
8
8
  ```Python
9
- for i, _ in enumerate(lst):
9
+ for i, e in enumerate(lst):
10
- lst[i] = f'{lst[i]}you' # str(lst[i]) + 'you' でも可
10
+ lst[i] = f'{e}you' # str(e) + 'you' でも可
11
11
  ```
12
12
 
13
13
  ---

2

追記

2019/01/26 15:55

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -25,6 +25,11 @@
25
25
  ]
26
26
  ```
27
27
 
28
+ 文字列に変数の値を埋め込む有効な方法はバージョンに依って異なります。
29
+ - f-string (Python3.6以降)
30
+ - str.format
31
+ - %記法
32
+
28
33
  なお
29
34
  ---
30
35
  変数に `list` と命名するのは厳に避けてください。

1

追記

2019/01/26 15:54

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,13 +1,13 @@
1
1
  インデックスを利用するのが最も安直な方法です。
2
2
  ```Python
3
3
  for i in range(len(lst)):
4
- lst[i] += 'you'
4
+ lst[i] = f'{lst[i]}you' # str(lst[i]) + 'you' でも可
5
5
  ```
6
6
 
7
7
  あるいは
8
8
  ```Python
9
9
  for i, _ in enumerate(lst):
10
- lst[i] += 'you'
10
+ lst[i] = f'{lst[i]}you' # str(lst[i]) + 'you' でも可
11
11
  ```
12
12
 
13
13
  ---
@@ -15,12 +15,30 @@
15
15
  ```Python
16
16
  dst = []
17
17
  for e in lst:
18
- dst.append(e + 'you')
18
+ dst.append(f'{e}you') # str(e) + 'you' でも可
19
19
  ```
20
20
 
21
21
  あるいは
22
22
  ```Python
23
23
  lst = [
24
- e + 'you' for e in lst
24
+ '{}you'.format(e) for e in lst # str(e) + 'you' でも可
25
25
  ]
26
- ```
26
+ ```
27
+
28
+ なお
29
+ ---
30
+ 変数に `list` と命名するのは厳に避けてください。
31
+ 分かりづらいエラーを引き起こします。
32
+ ```Python
33
+ >>> list('spam')
34
+ ['s', 'p', 'a', 'm']
35
+ >>>
36
+ >>> list = []
37
+ >>>
38
+ >>> list('spam')
39
+ Traceback (most recent call last):
40
+ File "<stdin>", line 1, in <module>
41
+ TypeError: 'list' object is not callable
42
+ ```
43
+
44
+ 同様につけてしまいがちな名前としては、`max` `id` `len` `str` などがあります。