This commit is contained in:
krahets
2023-03-12 18:46:10 +08:00
parent eacd25e896
commit 581ca559c1
26 changed files with 812 additions and 765 deletions

View File

@@ -1719,9 +1719,9 @@
<div class="tabbed-block">
<div class="highlight"><span class="filename">list.py</span><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="sd">&quot;&quot;&quot; 初始化列表 &quot;&quot;&quot;</span>
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="c1"># 无初始值</span>
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="n">list1</span> <span class="o">=</span> <span class="p">[]</span>
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="n">list1</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="c1"># 有初始值</span>
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="nb">list</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">4</span><span class="p">]</span>
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="nb">list</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">4</span><span class="p">]</span>
</code></pre></div>
</div>
<div class="tabbed-block">
@@ -1799,7 +1799,7 @@
</div>
<div class="tabbed-block">
<div class="highlight"><span class="filename">list.py</span><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="sd">&quot;&quot;&quot; 访问元素 &quot;&quot;&quot;</span>
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="n">num</span> <span class="o">=</span> <span class="nb">list</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="c1"># 访问索引 1 处的元素</span>
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="n">num</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="nb">list</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="c1"># 访问索引 1 处的元素</span>
<a id="__codelineno-12-3" name="__codelineno-12-3" href="#__codelineno-12-3"></a>
<a id="__codelineno-12-4" name="__codelineno-12-4" href="#__codelineno-12-4"></a><span class="sd">&quot;&quot;&quot; 更新元素 &quot;&quot;&quot;</span>
<a id="__codelineno-12-5" name="__codelineno-12-5" href="#__codelineno-12-5"></a><span class="nb">list</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># 将索引 1 处的元素更新为 0</span>
@@ -2063,12 +2063,12 @@
</div>
<div class="tabbed-block">
<div class="highlight"><span class="filename">list.py</span><pre><span></span><code><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a><span class="sd">&quot;&quot;&quot; 通过索引遍历列表 &quot;&quot;&quot;</span>
<a id="__codelineno-32-2" name="__codelineno-32-2" href="#__codelineno-32-2"></a><span class="n">count</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-32-2" name="__codelineno-32-2" href="#__codelineno-32-2"></a><span class="n">count</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-32-3" name="__codelineno-32-3" href="#__codelineno-32-3"></a><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="nb">list</span><span class="p">)):</span>
<a id="__codelineno-32-4" name="__codelineno-32-4" href="#__codelineno-32-4"></a> <span class="n">count</span> <span class="o">+=</span> <span class="mi">1</span>
<a id="__codelineno-32-5" name="__codelineno-32-5" href="#__codelineno-32-5"></a>
<a id="__codelineno-32-6" name="__codelineno-32-6" href="#__codelineno-32-6"></a><span class="sd">&quot;&quot;&quot; 直接遍历列表元素 &quot;&quot;&quot;</span>
<a id="__codelineno-32-7" name="__codelineno-32-7" href="#__codelineno-32-7"></a><span class="n">count</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-32-7" name="__codelineno-32-7" href="#__codelineno-32-7"></a><span class="n">count</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-32-8" name="__codelineno-32-8" href="#__codelineno-32-8"></a><span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">:</span>
<a id="__codelineno-32-9" name="__codelineno-32-9" href="#__codelineno-32-9"></a> <span class="n">count</span> <span class="o">+=</span> <span class="mi">1</span>
</code></pre></div>
@@ -2184,7 +2184,7 @@
</div>
<div class="tabbed-block">
<div class="highlight"><span class="filename">list.py</span><pre><span></span><code><a id="__codelineno-42-1" name="__codelineno-42-1" href="#__codelineno-42-1"></a><span class="sd">&quot;&quot;&quot; 拼接两个列表 &quot;&quot;&quot;</span>
<a id="__codelineno-42-2" name="__codelineno-42-2" href="#__codelineno-42-2"></a><span class="n">list1</span> <span class="o">=</span> <span class="p">[</span><span class="mi">6</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">9</span><span class="p">]</span>
<a id="__codelineno-42-2" name="__codelineno-42-2" href="#__codelineno-42-2"></a><span class="n">list1</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">6</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">9</span><span class="p">]</span>
<a id="__codelineno-42-3" name="__codelineno-42-3" href="#__codelineno-42-3"></a><span class="nb">list</span> <span class="o">+=</span> <span class="n">list1</span> <span class="c1"># 将列表 list1 拼接到 list 之后</span>
</code></pre></div>
</div>
@@ -2514,31 +2514,31 @@
<a id="__codelineno-62-2" name="__codelineno-62-2" href="#__codelineno-62-2"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 列表类简易实现 &quot;&quot;&quot;</span>
<a id="__codelineno-62-3" name="__codelineno-62-3" href="#__codelineno-62-3"></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<a id="__codelineno-62-4" name="__codelineno-62-4" href="#__codelineno-62-4"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 构造方法 &quot;&quot;&quot;</span>
<a id="__codelineno-62-5" name="__codelineno-62-5" href="#__codelineno-62-5"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__capacity</span> <span class="o">=</span> <span class="mi">10</span> <span class="c1"># 列表容量</span>
<a id="__codelineno-62-6" name="__codelineno-62-6" href="#__codelineno-62-6"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">__capacity</span> <span class="c1"># 数组(存储列表元素)</span>
<a id="__codelineno-62-7" name="__codelineno-62-7" href="#__codelineno-62-7"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># 列表长度(即当前元素数量)</span>
<a id="__codelineno-62-8" name="__codelineno-62-8" href="#__codelineno-62-8"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__extend_ratio</span> <span class="o">=</span> <span class="mi">2</span> <span class="c1"># 每次列表扩容的倍数</span>
<a id="__codelineno-62-5" name="__codelineno-62-5" href="#__codelineno-62-5"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__capacity</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">10</span> <span class="c1"># 列表容量</span>
<a id="__codelineno-62-6" name="__codelineno-62-6" href="#__codelineno-62-6"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">__capacity</span> <span class="c1"># 数组(存储列表元素)</span>
<a id="__codelineno-62-7" name="__codelineno-62-7" href="#__codelineno-62-7"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># 列表长度(即当前元素数量)</span>
<a id="__codelineno-62-8" name="__codelineno-62-8" href="#__codelineno-62-8"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__extend_ratio</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">2</span> <span class="c1"># 每次列表扩容的倍数</span>
<a id="__codelineno-62-9" name="__codelineno-62-9" href="#__codelineno-62-9"></a>
<a id="__codelineno-62-10" name="__codelineno-62-10" href="#__codelineno-62-10"></a> <span class="k">def</span> <span class="nf">size</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<a id="__codelineno-62-10" name="__codelineno-62-10" href="#__codelineno-62-10"></a> <span class="k">def</span> <span class="nf">size</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-62-11" name="__codelineno-62-11" href="#__codelineno-62-11"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 获取列表长度(即当前元素数量) &quot;&quot;&quot;</span>
<a id="__codelineno-62-12" name="__codelineno-62-12" href="#__codelineno-62-12"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span>
<a id="__codelineno-62-13" name="__codelineno-62-13" href="#__codelineno-62-13"></a>
<a id="__codelineno-62-14" name="__codelineno-62-14" href="#__codelineno-62-14"></a> <span class="k">def</span> <span class="nf">capacity</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<a id="__codelineno-62-14" name="__codelineno-62-14" href="#__codelineno-62-14"></a> <span class="k">def</span> <span class="nf">capacity</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-62-15" name="__codelineno-62-15" href="#__codelineno-62-15"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 获取列表容量 &quot;&quot;&quot;</span>
<a id="__codelineno-62-16" name="__codelineno-62-16" href="#__codelineno-62-16"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__capacity</span>
<a id="__codelineno-62-17" name="__codelineno-62-17" href="#__codelineno-62-17"></a>
<a id="__codelineno-62-18" name="__codelineno-62-18" href="#__codelineno-62-18"></a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">index</span><span class="p">):</span>
<a id="__codelineno-62-18" name="__codelineno-62-18" href="#__codelineno-62-18"></a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-62-19" name="__codelineno-62-19" href="#__codelineno-62-19"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 访问元素 &quot;&quot;&quot;</span>
<a id="__codelineno-62-20" name="__codelineno-62-20" href="#__codelineno-62-20"></a> <span class="c1"># 索引如果越界则抛出异常,下同</span>
<a id="__codelineno-62-21" name="__codelineno-62-21" href="#__codelineno-62-21"></a> <span class="k">assert</span> <span class="n">index</span> <span class="o">&gt;=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">index</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span><span class="p">,</span> <span class="s2">&quot;索引越界&quot;</span>
<a id="__codelineno-62-22" name="__codelineno-62-22" href="#__codelineno-62-22"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">[</span><span class="n">index</span><span class="p">]</span>
<a id="__codelineno-62-23" name="__codelineno-62-23" href="#__codelineno-62-23"></a>
<a id="__codelineno-62-24" name="__codelineno-62-24" href="#__codelineno-62-24"></a> <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">num</span><span class="p">,</span> <span class="n">index</span><span class="p">):</span>
<a id="__codelineno-62-24" name="__codelineno-62-24" href="#__codelineno-62-24"></a> <span class="k">def</span> <span class="nf">set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">num</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-62-25" name="__codelineno-62-25" href="#__codelineno-62-25"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 更新元素 &quot;&quot;&quot;</span>
<a id="__codelineno-62-26" name="__codelineno-62-26" href="#__codelineno-62-26"></a> <span class="k">assert</span> <span class="n">index</span> <span class="o">&gt;=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">index</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span><span class="p">,</span> <span class="s2">&quot;索引越界&quot;</span>
<a id="__codelineno-62-27" name="__codelineno-62-27" href="#__codelineno-62-27"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> <span class="o">=</span> <span class="n">num</span>
<a id="__codelineno-62-28" name="__codelineno-62-28" href="#__codelineno-62-28"></a>
<a id="__codelineno-62-29" name="__codelineno-62-29" href="#__codelineno-62-29"></a> <span class="k">def</span> <span class="nf">add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">num</span><span class="p">):</span>
<a id="__codelineno-62-29" name="__codelineno-62-29" href="#__codelineno-62-29"></a> <span class="k">def</span> <span class="nf">add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">num</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-62-30" name="__codelineno-62-30" href="#__codelineno-62-30"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 尾部添加元素 &quot;&quot;&quot;</span>
<a id="__codelineno-62-31" name="__codelineno-62-31" href="#__codelineno-62-31"></a> <span class="c1"># 元素数量超出容量时,触发扩容机制</span>
<a id="__codelineno-62-32" name="__codelineno-62-32" href="#__codelineno-62-32"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">()</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">capacity</span><span class="p">():</span>
@@ -2546,7 +2546,7 @@
<a id="__codelineno-62-34" name="__codelineno-62-34" href="#__codelineno-62-34"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">__size</span><span class="p">]</span> <span class="o">=</span> <span class="n">num</span>
<a id="__codelineno-62-35" name="__codelineno-62-35" href="#__codelineno-62-35"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span> <span class="o">+=</span> <span class="mi">1</span>
<a id="__codelineno-62-36" name="__codelineno-62-36" href="#__codelineno-62-36"></a>
<a id="__codelineno-62-37" name="__codelineno-62-37" href="#__codelineno-62-37"></a> <span class="k">def</span> <span class="nf">insert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">num</span><span class="p">,</span> <span class="n">index</span><span class="p">):</span>
<a id="__codelineno-62-37" name="__codelineno-62-37" href="#__codelineno-62-37"></a> <span class="k">def</span> <span class="nf">insert</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">num</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-62-38" name="__codelineno-62-38" href="#__codelineno-62-38"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 中间插入元素 &quot;&quot;&quot;</span>
<a id="__codelineno-62-39" name="__codelineno-62-39" href="#__codelineno-62-39"></a> <span class="k">assert</span> <span class="n">index</span> <span class="o">&gt;=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">index</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span><span class="p">,</span> <span class="s2">&quot;索引越界&quot;</span>
<a id="__codelineno-62-40" name="__codelineno-62-40" href="#__codelineno-62-40"></a> <span class="c1"># 元素数量超出容量时,触发扩容机制</span>
@@ -2559,7 +2559,7 @@
<a id="__codelineno-62-47" name="__codelineno-62-47" href="#__codelineno-62-47"></a> <span class="c1"># 更新元素数量</span>
<a id="__codelineno-62-48" name="__codelineno-62-48" href="#__codelineno-62-48"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span> <span class="o">+=</span> <span class="mi">1</span>
<a id="__codelineno-62-49" name="__codelineno-62-49" href="#__codelineno-62-49"></a>
<a id="__codelineno-62-50" name="__codelineno-62-50" href="#__codelineno-62-50"></a> <span class="k">def</span> <span class="nf">remove</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">index</span><span class="p">):</span>
<a id="__codelineno-62-50" name="__codelineno-62-50" href="#__codelineno-62-50"></a> <span class="k">def</span> <span class="nf">remove</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">index</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-62-51" name="__codelineno-62-51" href="#__codelineno-62-51"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 删除元素 &quot;&quot;&quot;</span>
<a id="__codelineno-62-52" name="__codelineno-62-52" href="#__codelineno-62-52"></a> <span class="k">assert</span> <span class="n">index</span> <span class="o">&gt;=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">index</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">__size</span><span class="p">,</span> <span class="s2">&quot;索引越界&quot;</span>
<a id="__codelineno-62-53" name="__codelineno-62-53" href="#__codelineno-62-53"></a> <span class="n">num</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">[</span><span class="n">index</span><span class="p">]</span>
@@ -2571,14 +2571,14 @@
<a id="__codelineno-62-59" name="__codelineno-62-59" href="#__codelineno-62-59"></a> <span class="c1"># 返回被删除元素</span>
<a id="__codelineno-62-60" name="__codelineno-62-60" href="#__codelineno-62-60"></a> <span class="k">return</span> <span class="n">num</span>
<a id="__codelineno-62-61" name="__codelineno-62-61" href="#__codelineno-62-61"></a>
<a id="__codelineno-62-62" name="__codelineno-62-62" href="#__codelineno-62-62"></a> <span class="k">def</span> <span class="nf">extend_capacity</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<a id="__codelineno-62-62" name="__codelineno-62-62" href="#__codelineno-62-62"></a> <span class="k">def</span> <span class="nf">extend_capacity</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-62-63" name="__codelineno-62-63" href="#__codelineno-62-63"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 列表扩容 &quot;&quot;&quot;</span>
<a id="__codelineno-62-64" name="__codelineno-62-64" href="#__codelineno-62-64"></a> <span class="c1"># 新建一个长度为 self.__size 的数组,并将原数组拷贝到新数组</span>
<a id="__codelineno-62-65" name="__codelineno-62-65" href="#__codelineno-62-65"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span> <span class="o">+</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">capacity</span><span class="p">()</span> <span class="o">*</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__extend_ratio</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
<a id="__codelineno-62-66" name="__codelineno-62-66" href="#__codelineno-62-66"></a> <span class="c1"># 更新列表容量</span>
<a id="__codelineno-62-67" name="__codelineno-62-67" href="#__codelineno-62-67"></a> <span class="bp">self</span><span class="o">.</span><span class="n">__capacity</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">)</span>
<a id="__codelineno-62-68" name="__codelineno-62-68" href="#__codelineno-62-68"></a>
<a id="__codelineno-62-69" name="__codelineno-62-69" href="#__codelineno-62-69"></a> <span class="k">def</span> <span class="nf">to_array</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<a id="__codelineno-62-69" name="__codelineno-62-69" href="#__codelineno-62-69"></a> <span class="k">def</span> <span class="nf">to_array</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-62-70" name="__codelineno-62-70" href="#__codelineno-62-70"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot; 返回有效长度的列表 &quot;&quot;&quot;</span>
<a id="__codelineno-62-71" name="__codelineno-62-71" href="#__codelineno-62-71"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__nums</span><span class="p">[:</span><span class="bp">self</span><span class="o">.</span><span class="n">__size</span><span class="p">]</span>
</code></pre></div>