回答編集履歴

1

追記

2020/06/07 14:05

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,10 +1,10 @@
1
1
  lst.pop(i) は**式**で、del lst[i] は**文**です。
2
2
 
3
- 式は必ず値を持ち、他の式や文の一部にすることができます。
3
+ 式は必ず値を持ち(**註1**)、他の式や文の一部にすることができます。
4
4
 
5
5
 
6
6
 
7
- 例えば代入文の右辺に式である lst.pop(e) を持ってくることができますが、
7
+ 例えば代入****(**註2**)の右辺に式である lst.pop(e) を持ってくることができますが、
8
8
 
9
9
  ```Python
10
10
 
@@ -43,3 +43,51 @@
43
43
 
44
44
 
45
45
  これをもうちょっと分かり易く表現すると『要素を返す・返さない』に繋がるわけです。
46
+
47
+
48
+
49
+ > どう違うのか、どう使い分けるのか教えていただけたら嬉しいです。
50
+
51
+
52
+
53
+ delはリストの要素の削除以外にも様々適用できます。
54
+
55
+ ```Python
56
+
57
+ >>> a = 42
58
+
59
+ >>> print(a)
60
+
61
+ 42
62
+
63
+ >>> del a
64
+
65
+ >>> print(a)
66
+
67
+ Traceback (most recent call last):
68
+
69
+ File "<stdin>", line 1, in <module>
70
+
71
+ NameError: name 'a' is not defined
72
+
73
+ ```
74
+
75
+
76
+
77
+ リストの要素の削除にはpopを使った方が分かり易いかな、と個人的には思います。
78
+
79
+
80
+
81
+ ---
82
+
83
+ **註1**:
84
+
85
+ ただし、常に意味のある値を返すとは限りません。
86
+
87
+
88
+
89
+ **註2**:
90
+
91
+ 代入が**式**である言語もあります。
92
+
93
+ ...更にややこしいことに、最新のPythonには代入**式**と代入**文**の両方があります。