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

回答編集履歴

1

追記

2020/05/18 07:58

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,7 +1,24 @@
1
1
  完成形がリストなんですから、使うべきはリスト内包表記です。
2
-
3
2
  ```Python
4
3
  result_list = [
5
4
  {"id": item.id, "name": item.name} for item in lst
6
5
  ]
7
- ```
6
+ ```
7
+
8
+ その他、気になること
9
+ ---
10
+ 変数名として `list` `dict` を使わないで下さい。
11
+ シャドウイングにより分かりづらいエラーの原因になります。
12
+ ```Python
13
+ >>> list('spam')
14
+ ['s', 'p', 'a', 'm']
15
+ >>>
16
+ >>> list = [1, 2, 3]
17
+ >>>
18
+ >>> list('spam')
19
+ Traceback (most recent call last):
20
+ File "<stdin>", line 1, in <module>
21
+ TypeError: 'list' object is not callable
22
+ ```
23
+
24
+ `list` `dict` の他にも使ってしまいがちな名前として、`id` `max` `str` などがあります。