<p>假设您已经将成绩收集到名为<code>grades</code>的列表中:</p>
<pre><code># New list of sorted entries
sorted_grades = sorted(grades)
# Sum of all list entries divided by the length
average = sum(grades)/len(grades)
# Last entry minus the first entry
range = grades[-1] - grades[0]
# Slice from the third-to-last entry to the end of the list
top_three = grades[-3:]
</code></pre>
<p>负索引和切片等语法将在<a href="https://docs.python.org/3/tutorial/introduction.html#lists" rel="nofollow noreferrer">tutorial provided in the CPython documentation</a>中进一步讨论:</p>
<blockquote>
<p>Like strings (and all other built-in sequence type), lists can be indexed and sliced:</p>
<pre><code>>>> squares = [1, 4, 9, 16, 25]
>>> squares
[1, 4, 9, 16, 25]
>>> squares[0] # indexing returns the item
1
>>> squares[-1]
25
>>> squares[-3:] # slicing returns a new list
[9, 16, 25]
</code></pre>
<p>All slice operations return a new list containing the requested elements. This means that the following slice returns a new (shallow) copy of the list:</p>
<pre><code>>>> squares[:]
[1, 4, 9, 16, 25]
</code></pre>
</blockquote>
<p>列表索引/切片的一般格式是<code>some_list[start:stop:step]</code>:</p>
<pre><code>>>> numbers = [1,3,5,7,9]
>>> numbers[0:3] # slice from the first element to the third
[1, 3, 5]
>>> numbers[:3] # 0's can be omitted
[1, 3, 5]
>>> numbers[1:3] # slice from the second element to the third
[3, 5]
>>> numbers[3:] # slice from the third element to the end
[7, 9]
>>> numbers[-3:] # slice from the third-to-last to the end
[5, 7, 9]
>>> numbers[::-1] # slice of the whole list, stepping backward by 1 for each entry
[9, 7, 5, 3, 1]
>>> numbers[1::2] # slice of every other entry, starting with the second
[3, 7]
</code></pre>
<p>请注意,列表片是末端独占的,因此<code>numbers[1:2]</code>只返回第二个条目:<code>[3]</code></p>