📄 node7.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head> <title>5. 资料结构</title> <meta name="description" content="5. Data Structures "> <meta name="keywords" content="tut"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <link rel="STYLESHEET" href="tut.css"> <link rel="next" href="node8.html"> <link rel="previous" href="node6.html"> <link rel="up" href="tut.html"> <link rel="next" href="node8.html"></head> <body> <div class="navigation"><table align="Center" width="100%" cellpadding="0" cellspacing="2"> <tbody> <tr> <td><a href="node6.html"><img src="../icons/previous.gif" border="0" height="32" alt="Previous Page" width="32"></a></td> <td><a href="tut.html"><img src="../icons/up.gif" border="0" height="32" alt="Up One Level" width="32"></a></td> <td><a href="node8.html"><img src="../icons/next.gif" border="0" height="32" alt="Next Page" width="32"></a></td> <td align="Center" width="100%">Python 教学文件</td> <td><a href="node2.html"><img src="../icons/contents.gif" border="0" height="32" alt="Contents" width="32"></a></td> <td><img src="../icons/blank.gif" border="0" height="32" alt="" width="32"></td> <td><img src="../icons/blank.gif" border="0" height="32" alt="" width="32"></td> </tr> </tbody></table> <b class="navlabel">Previous:</b> <a class="sectref" href="node6.html">4.更多流程控制的工具</a> <b class="navlabel">Up:</b> <a class="sectref" href="tut.html">Python 教学文件</a> <b class="navlabel">Next:</b> <a class="sectref" href="node8.html">6. 模组(module)</a> <br><hr></div> <!--End of Navigation Panel--> <!--Table of Child-Links--> <a name="CHILD_LINKS"><strong>小段落 </strong></a> <ul> <li><a name="tex2html284" href="node7.html#SECTION007100000000000000000">5.1 列(Lists)(续) </a> <ul> <li><a name="tex2html285" href="node7.html#SECTION007110000000000000000">5.1.1 把列(Lists)当作堆积(Stacks)使用 </a> </li> <li><a name="tex2html286" href="node7.html#SECTION007120000000000000000">5.1.2 把列(Lists)当作伫列(Queues)使用 </a> </li> <li><a name="tex2html287" href="node7.html#SECTION007130000000000000000">5.1.3 功能式程式设计工具 </a> </li> <li><a name="tex2html288" href="node7.html#SECTION007140000000000000000">5.1.4 传回整个列(List Comprehensions) </a> </li> </ul> </li> <li><a name="tex2html289" href="node7.html#SECTION007200000000000000000">5.2 <tt class="keyword">del</tt> 叙述 </a> </li> <li><a name="tex2html290" href="node7.html#SECTION007300000000000000000">5.3 Tuples(固定有序列)及Sequences(有序列) </a> </li> <li><a name="tex2html291" href="node7.html#SECTION007400000000000000000">5.4 Dictionaries(字典) </a> </li> <li><a name="tex2html292" href="node7.html#SECTION007500000000000000000">5.5 条件(续) </a> </li> <li><a name="tex2html293" href="node7.html#SECTION007600000000000000000">5.6 Sequences(有序列)及其他资料型态的比较 </a> </li></ul> <!--End of Table of Child-Links--> <hr> <h1> <br> 5. 资料结构 </h1> <p> 这一章讨论的内容有些你在之前已经看过,但我们会更深入的讨论。另外,我们也会介绍一些新的东西。 </p><p> </p><h1> <br> 5.1 列(Lists)(续) </h1> <p> 列(list)这个资料型态有一些方法可以使用,底下我们就列出来一些常用的方法: </p><p> </p><dl><dt><strong><code>append(x)</code></strong></dt> <dd>在list的尾端加入一个成员,也可以用这个方法来写 <code>a[len(a):] = [x]</code> 。 <p> </p> </dd> <dt><strong><code>extend(L)</code></strong></dt> <dd>接受一个新的list的参数,然后把它加入到目前这个list的尾端,也可以写作 <code>a[len(a):] = L</code> 。 <p> </p> </dd> <dt><strong><code>insert(i, x)</code></strong></dt> <dd>在某个特定的位置加入一个成员。第一个参数是要加入的位置的index,所以 <code>a.insert(0, x)</code> 会加入在list的最前端,而 <code>a.insert(len(a), x)</code> 会在最后端加入,相等于 <code>a.append(x)</code> 。 <p> </p> </dd> <dt><strong><code>remove(x)</code></strong></dt> <dd>拿掉第一个其值相等于 <code>x</code>. 的成员。如果整个list都没有这个成员,那就会得到一个错误(error)。 <p> </p> </dd> <dt><strong><code>pop(<big>[</big>i<big>]</big>)</code></strong></dt> <dd>从一个list中拿掉某个位置的成员,并且传回这个被拿掉的成员。如果没有传入位置的index的话, <code>a.pop()</code> 会传回这个list的最一个成员,同样的这个成为会被从这个list之中拿掉。 <p> </p> </dd> <dt><strong><code>index(x)</code></strong></dt> <dd>传回第一个其值相等于 <code>x</code> 的成员之位置(index),如果整个list都没有这个成员,那就会得到一个错误(error)。 <p> </p> </dd> <dt><strong><code>count(x)</code></strong></dt> <dd>传回在整个list里面, <code>x</code> 出现了多少次。 <p> </p> </dd> <dt><strong><code>sort()</code></strong></dt> <dd>针对list里面的成员做排序。 <p> </p> </dd> <dt><strong><code>reverse()</code></strong></dt> <dd>反转整个list里面成员的位置。 <p> </p> </dd> </dl> <p> 底下的这个例子使用了大部分的lsit的方法(method): </p> <p> </p> <dl> <dd><pre class="verbatim">>>> a = [66.6, 333, 333, 1, 1234.5]<br>>>> print a.count(333), a.count(66.6), a.count('x')<br>2 1 0<br>>>> a.insert(2, -1)<br>>>> a.append(333)<br>>>> a<br>[66.6, 333, -1, 333, 1, 1234.5, 333]<br>>>> a.index(333)<br>1<br>>>> a.remove(333)<br>>>> a<br>[66.6, -1, 333, 1, 1234.5, 333]<br>>>> a.reverse()<br>>>> a<br>[333, 1234.5, 1, 333, -1, 66.6]<br>>>> a.sort()<br>>>> a<br>[-1, 1, 66.6, 333, 333, 1234.5]<br></pre> </dd> </dl> <p> </p> <h2> <br> 5.1.1 把列(Lists)当作堆积(Stacks)使用 </h2> <p> 由于有这些好用的方法,把列(list)当作堆积(stack)来使用是一件容易的事。Stacks的最后一个加入的成员是第一个被取出来的成员(后进先出``last-in, first-out''法则)。要在stack的最顶端加入一个成员可以使用 <tt class="method">append()</tt> ,要从stack的最顶端取出一个成员可以用 <tt class="method">pop()</tt> (不须加入参数)。例子如下: </p> <p> </p> <dl> <dd><pre class="verbatim">>>> stack = [3, 4, 5]<br>>>> stack.append(6)<br>>>> stack.append(7)<br>>>> stack<br>[3, 4, 5, 6, 7]<br>>>> stack.pop()<br>7<br>>>> stack<br>[3, 4, 5, 6]<br>>>> stack.pop()<br>6<br>>>> stack.pop()<br>5<br>>>> stack<br>[3, 4]<br></pre> </dd> </dl>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -