回答編集履歴
2
文言の修正
test
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
|
54
54
|
|
55
|
-
ただそもそも、Cみたいに関数内で引数の中身をいじれてしまう方がバグの原因ですから、**こういう書き方は避けるべき**だと思います。
|
55
|
+
ただそもそも、Cみたいに関数内で引数の中身をいじれてしまう方がバグの原因ですから、**こういう破壊的な書き方は避けるべき**だと思います。
|
56
56
|
|
57
57
|
|
58
58
|
|
1
追記
test
CHANGED
@@ -1,8 +1,4 @@
|
|
1
|
-
C言語のポインタみたいなものは存在しないので、同じ配列の要素を書き換えたければ添字`[]`を使うしかないです。
|
1
|
+
C言語のポインタみたいなものは存在しないので、同じ配列の要素を書き換えたければ、添字`[]`を使うしかないです。
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
以下参考までに。
|
6
2
|
|
7
3
|
|
8
4
|
|
@@ -25,6 +21,32 @@
|
|
25
21
|
changeList(b)
|
26
22
|
|
27
23
|
print(b) # [1, 2, 3, 7, 8]
|
24
|
+
|
25
|
+
```
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
または、少し本筋からズレますが、`global`文を使うという手もあるにはあります。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
```python
|
34
|
+
|
35
|
+
def changeList():
|
36
|
+
|
37
|
+
global b
|
38
|
+
|
39
|
+
b = [1, 2, 3]
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
if __name__=='__main__':
|
44
|
+
|
45
|
+
b = [1]
|
46
|
+
|
47
|
+
changeList()
|
48
|
+
|
49
|
+
print(b) # [1, 2, 3]
|
28
50
|
|
29
51
|
```
|
30
52
|
|