回答編集履歴

2

追記

2017/11/29 08:28

投稿

mkgrei
mkgrei

スコア8560

test CHANGED
@@ -23,3 +23,165 @@
23
23
  をすると、まずspeはaso01_speであり、それにa[i:i+9]を追加します。
24
24
 
25
25
  ゆえにaso01_speの中身にa[i:i+9]が加わります。
26
+
27
+
28
+
29
+ ---
30
+
31
+ 追記:idを見てみる
32
+
33
+ ```python
34
+
35
+ sensei01_spe,sensei02_spe, sensei03_spe, aso01_spe, aso02_spe, aso03_spe = [], [], [], [], [], []
36
+
37
+ spe_list = [sensei01_spe,sensei02_spe, sensei03_spe, aso01_spe, aso02_spe, aso03_spe]
38
+
39
+ print(id(aso01_spe))
40
+
41
+ #4321501320
42
+
43
+
44
+
45
+ a = [264613.12723114301, 213530.38763031978, 163810.61130664896, 136871.05704474563, 116101.8574003962, 94862.205318461289, 76882.988823338295, 64967.385627235752, 56649.812648108447, 235490.94770532235, 223653.85964166056, 171781.0752035192, 143659.12178123076, 121747.11404648534, 99414.953211499684, 80205.550783447776, 67749.520142203764, 58972.704983976939, 258968.2505837474, 199318.79810241674, 153318.88851751294, 128140.27967669716, 108742.10307887496, 88866.712291087097, 71950.44413915115, 60982.057699482684, 52960.99886607263, 613638.79095825891, 583022.1346845167, 447659.34633396397, 374373.33102659252, 317155.96087360661, 258911.54298057302, 209115.76781486484, 176587.5132472465, 153429.55672548222, 694138.44600377022, 534840.02950766473, 410845.64037928835, 343736.22689563455, 291540.03973971767, 238380.26147863301, 192970.63366398562, 163485.75761805839, 142077.4040784016, 695474.49894273863, 535824.57435067231, 411609.46646169998, 344390.54762963147, 292077.40171641973, 238831.97944460437, 193331.39981859887, 163791.7886542324, 142344.17486671402]
46
+
47
+
48
+
49
+ for i, spe in zip(range(0, 6), spe_list):
50
+
51
+ print(i)
52
+
53
+ print(id(spe))
54
+
55
+ spe += a[i:i+9]
56
+
57
+ print(id(spe))
58
+
59
+ '''
60
+
61
+ 0
62
+
63
+ 4321492936
64
+
65
+ 4321492936
66
+
67
+ 1
68
+
69
+ 4321503112
70
+
71
+ 4321503112
72
+
73
+ 2
74
+
75
+ 4321502728
76
+
77
+ 4321502728
78
+
79
+ 3
80
+
81
+ 4321501320
82
+
83
+ 4321501320
84
+
85
+ 4
86
+
87
+ 4321502792
88
+
89
+ 4321502792
90
+
91
+ 5
92
+
93
+ 4321593800
94
+
95
+ 4321593800
96
+
97
+ '''
98
+
99
+
100
+
101
+ print(aso01_spe)
102
+
103
+ #[136871.05704474563, 116101.8574003962, 94862.20531846129, 76882.9888233383, 64967.38562723575, 56649.81264810845, 235490.94770532235, 223653.85964166056, 171781.0752035192]
104
+
105
+ print(id(aso01_spe))
106
+
107
+ #4321501320
108
+
109
+ ```
110
+
111
+
112
+
113
+ ```python
114
+
115
+ sensei01_spe,sensei02_spe, sensei03_spe, aso01_spe, aso02_spe, aso03_spe = [], [], [], [], [], []
116
+
117
+ spe_list = [sensei01_spe,sensei02_spe, sensei03_spe, aso01_spe, aso02_spe, aso03_spe]
118
+
119
+ print(id(aso01_spe))
120
+
121
+ #4320514184
122
+
123
+
124
+
125
+ a = [264613.12723114301, 213530.38763031978, 163810.61130664896, 136871.05704474563, 116101.8574003962, 94862.205318461289, 76882.988823338295, 64967.385627235752, 56649.812648108447, 235490.94770532235, 223653.85964166056, 171781.0752035192, 143659.12178123076, 121747.11404648534, 99414.953211499684, 80205.550783447776, 67749.520142203764, 58972.704983976939, 258968.2505837474, 199318.79810241674, 153318.88851751294, 128140.27967669716, 108742.10307887496, 88866.712291087097, 71950.44413915115, 60982.057699482684, 52960.99886607263, 613638.79095825891, 583022.1346845167, 447659.34633396397, 374373.33102659252, 317155.96087360661, 258911.54298057302, 209115.76781486484, 176587.5132472465, 153429.55672548222, 694138.44600377022, 534840.02950766473, 410845.64037928835, 343736.22689563455, 291540.03973971767, 238380.26147863301, 192970.63366398562, 163485.75761805839, 142077.4040784016, 695474.49894273863, 535824.57435067231, 411609.46646169998, 344390.54762963147, 292077.40171641973, 238831.97944460437, 193331.39981859887, 163791.7886542324, 142344.17486671402]
126
+
127
+
128
+
129
+ for i, spe in zip(range(0, 6), spe_list):
130
+
131
+ print(i)
132
+
133
+ print(id(spe))
134
+
135
+ spe = a[i:i+9]
136
+
137
+ print(id(spe))
138
+
139
+ '''
140
+
141
+ 0
142
+
143
+ 4320505800
144
+
145
+ 4320606920
146
+
147
+ 1
148
+
149
+ 4320515976
150
+
151
+ 4320606920
152
+
153
+ 2
154
+
155
+ 4320515592
156
+
157
+ 4320606920
158
+
159
+ 3
160
+
161
+ 4320514184
162
+
163
+ 4320606920
164
+
165
+ 4
166
+
167
+ 4320515656
168
+
169
+ 4320606920
170
+
171
+ 5
172
+
173
+ 4320606664
174
+
175
+ 4320606920
176
+
177
+ '''
178
+
179
+ print(aso01_spe)
180
+
181
+ #[]
182
+
183
+ print(id(aso01_spe))
184
+
185
+ #4320514184
186
+
187
+ ```

1

追記

2017/11/29 08:28

投稿

mkgrei
mkgrei

スコア8560

test CHANGED
@@ -1 +1,25 @@
1
1
  spe += a[i:i+9]
2
+
3
+
4
+
5
+ ---
6
+
7
+ 補足
8
+
9
+ pythonでポインタっぽいことをやろうと思ったら、結構繊細です。
10
+
11
+ spe = a[i:i+9]
12
+
13
+ というのは
14
+
15
+ speの指す場所をaso01_speからa[i:i+9]に変更しています。
16
+
17
+ なので、aso01_speは[]のまま変更されません。
18
+
19
+ 一方で、
20
+
21
+ spe += a[i:i+9]
22
+
23
+ をすると、まずspeはaso01_speであり、それにa[i:i+9]を追加します。
24
+
25
+ ゆえにaso01_speの中身にa[i:i+9]が加わります。