⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch09s05.html

📁 《简明 Python 教程》为 "A Byte of Python" 的唯一指定简体中文译本
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><style type="text/css"><!--@import url(stylesheet/text.css);@import url(stylesheet/box.css);--></style><title>简明 Python 教程 / 数据结构 / 序列 </title></head><body><table width="100%"><tr><th colspan="3" align="center"><span class="header">简明 Python 教程</span></th></tr><th colspan="3" align="center">第9章 数据结构</th><tr><th width="20%" align="left"><a href="ch09s04.html">上一页</a></th><th width="60%" align="center"><span class="header2">序列</span></th><th align="right"><a href="ch09s06.html">下一页</a></th></tr></table><hr noshade><h1>序列</h1><p>列表、元组和字符串都是序列,但是序列是什么,它们为什么如此特别呢?序列的两个主要特点是<strong>索引</strong>操作符和<strong>切片</strong>操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。</p><h2><a name="using">使用序列</a></h2><p class="exampletitle"><a name="e95">例9.5 使用序列</a></p><p class="filebox"><code class="comment">#!/usr/bin/python<br># Filename: seq.py</code><br><br><code>shoplist = [</code><code class="cite">'apple'</code><code>, </code><code class="cite">'mango'</code><code>, </code><code class="cite">'carrot'</code><code>, </code><code class="cite">'banana'</code><code>]</code><br><br><code class="comment"># Indexing or 'Subscription' operation</code><br><code class="key">print </code><code class="cite">'Item 0 is'</code><code>, shoplist[</code><code class="cite">0</code><code>]</code><br><code class="key">print </code><code class="cite">'Item 1 is'</code><code>, shoplist[</code><code class="cite">1</code><code>]</code><br><code class="key">print </code><code class="cite">'Item 2 is'</code><code>, shoplist[</code><code class="cite">2</code><code>]</code><br><code class="key">print </code><code class="cite">'Item 3 is'</code><code>, shoplist[</code><code class="cite">3</code><code>]</code><br><code class="key">print </code><code class="cite">'Item -1 is'</code><code>, shoplist[</code><code class="cite">-1</code><code>]</code><br><code class="key">print </code><code class="cite">'Item -2 is'</code><code>, shoplist[</code><code class="cite">-2</code><code>]</code><br><br><code class="comment"># Slicing on a list</code><br><code class="key">print </code><code class="cite">'Item 1 to 3 is'</code><code>, shoplist[</code><code class="cite">1</code><code>:</code><code class="cite">3</code><code>]</code><br><code class="key">print </code><code class="cite">'Item 2 to end is'</code><code>, shoplist[</code><code class="cite">2</code><code>:</code><code>]</code><br><code class="key">print </code><code class="cite">'Item 1 to -1 is'</code><code>, shoplist[</code><code class="cite">1</code><code>:</code><code class="cite">-1</code><code>]</code><br><code class="key">print </code><code class="cite">'Item start to end is'</code><code>, shoplist[:]</code><br><br><code class="comment"># Slicing on a string</code><br><code>name = </code><code class="cite">'swaroop'</code><br><code class="key">print </code><code class="cite">'characters 1 to 3 is'</code><code>, name[</code><code class="cite">1</code><code>:</code><code class="cite">3</code><code>]</code><br><code class="key">print </code><code class="cite">'characters 2 to end is'</code><code>, name[</code><code class="cite">2</code><code>:]</code><br><code class="key">print </code><code class="cite">'characters 1 to -1 is'</code><code>, name[</code><code class="cite">1</code><code>:</code><code class="cite">-1</code><code>]</code><br><code class="key">print </code><code class="cite">'characters start to end is'</code><code>, name[:]</code></p><p>(源文件:<a href="code/seq.py">code/seq.py</a>)</p><h2>输出</h2><p class="codebox"><code>$ python seq.py<br>Item 0 is apple<br>Item 1 is mango<br>Item 2 is carrot<br>Item 3 is banana<br>Item -1 is banana<br>Item -2 is carrot<br>Item 1 to 3 is ['mango', 'carrot']<br>Item 2 to end is ['carrot', 'banana']<br>Item 1 to -1 is ['mango', 'carrot']<br>Item start to end is ['apple', 'mango', 'carrot', 'banana']<br>characters 1 to 3 is wa<br>characters 2 to end is aroop<br>characters 1 to -1 is waroo<br>characters start to end is swaroop</code></p><h2>它如何工作</h2><p>首先,我们来学习如何使用索引来取得序列中的单个项目。这也被称作是下标操作。每当你用方括号中的一个数来指定一个序列的时候,Python会为你抓取序列中对应位置的项目。记住,Python从0开始计数。因此,<code>shoplist[0]</code>抓取第一个项目,<code>shoplist[3]</code>抓取<code>shoplist</code>序列中的第四个元素。</p><p>索引同样可以是负数,在那样的情况下,位置是从序列尾开始计算的。因此,<code>shoplist[-1]</code>表示序列的最后一个元素而<code>shoplist[-2]</code>抓取序列的倒数第二个项目。</p><p>切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。</p><p>切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置 <dfn>开始</dfn> ,刚好在 <dfn>结束</dfn> 位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外。</p><p>这样,<code>shoplist[1:3]</code>返回从位置1开始,包括位置2,但是停止在位置3的一个序列切片,因此返回一个含有两个项目的切片。类似地,<code>shoplist[:]</code>返回整个序列的拷贝。</p><p>你可以用负数做切片。负数用在从序列尾开始计算的位置。例如,<code>shoplist[:-1]</code>会返回除了最后一个项目外包含所有项目的序列切片。</p><p>使用Python解释器交互地尝试不同切片指定组合,即在提示符下你能够马上看到结果。序列的神奇之处在于你可以用相同的方法访问元组、列表和字符串。</p><hr noshade><table width="100%"><tr><th width="20%" align="left"><a href="ch09s04.html">上一页</a></th><th width="60%" align="center"><a href="ch09.html">上一级</a></th><th width="20%" align="right"><a href="ch09s06.html">下一页</a></th></tr><tr><th width="20%" align="left">字典</th><th width="60%" align="center"><a href="index.html">首页</a></th><th align="right">参考</th></tr></table></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -