回答編集履歴

2

追記

2019/01/10 05:14

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,4 +1,6 @@
1
+ タプルはイミュータブルなので、要素を消すことはできません。
2
+
1
- しくリストを作るのがおそらく楽です。
3
+ たにリストを作ってやことになります。
2
4
 
3
5
  ```Python
4
6
 
@@ -27,3 +29,43 @@
27
29
  dst = [row[:-1] for row in src]
28
30
 
29
31
  ```
32
+
33
+
34
+
35
+ ミュータブルなコンテナの要素を消したい場合はdel文が使えますが、
36
+
37
+ 大抵新しくリストを作った方が読み易く、エラーを未然に防げることが多いです。
38
+
39
+
40
+
41
+ ---
42
+
43
+ 変数にlistと命名することは厳に避けてください。
44
+
45
+ 解消しづらいエラーを引き起こします。
46
+
47
+ ```Python
48
+
49
+ >>> list('spam')
50
+
51
+ ['s', 'p', 'a', 'm']
52
+
53
+ >>>
54
+
55
+ >>> list = [1, 2, 3]
56
+
57
+ >>>
58
+
59
+ >>> list('spam')
60
+
61
+ Traceback (most recent call last):
62
+
63
+ File "<stdin>", line 1, in <module>
64
+
65
+ TypeError: 'list' object is not callable
66
+
67
+ ```
68
+
69
+
70
+
71
+ 同様に付けてしまいがちな名前としては、`str` `max` `id` `len` などがあります。

1

追記

2019/01/10 05:13

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -17,3 +17,13 @@
17
17
  )
18
18
 
19
19
  ```
20
+
21
+
22
+
23
+ 内包表記を使ってスマートに書くならこんな感じ。
24
+
25
+ ```Python
26
+
27
+ dst = [row[:-1] for row in src]
28
+
29
+ ```