WEB开发网
开发学院软件开发Python 探索 Python 类型的层次结构 阅读

探索 Python 类型的层次结构

 2007-03-29 12:17:43 来源:WEB开发网   
核心提示: 清单 5. 修改 list>>> l = []>>> l[0] = 0# The list is emptyTraceback (most recent call last):File "<stdin>", line 1,

清单 5. 修改 list

>>> l = []
>>> l[0] = 0   # The list is empty
Traceback (most recent call last):
 File "<stdin>", line 1, in ?
IndexError: list assignment index out of range
>>> l.append(0)
>>> l
[0]
>>> l[0] = 1
>>> l
[1]

正如前一个例子所演示的,尝试修改不存在的 list 条目会导致出现错误。这一点意义重大,并演示了 Python 方法生成错误的情况。当问题较为严重时,将会产生一个错误,如果问题较小并且可以很容易地处理,则忽略它。

异构的可变序列

您可能想了解更为复杂的修改。通过综合切片知识以及如何修改 list 的知识,您应该已经获得了非常重要的见识:可以通过多种方式修改列表。就像 tuple 一样,list 也可以持有不同类型的数据(或不同类型的对象),这就是我所说的异构的可变序列。这两种功能在清单 6 中进行了更完整的描述。

清单 6. 异构的可变 list

>>> l=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l[2] = 2
>>> type(l[2])
<type 'int'>
>>> l[2] = "two"   # Change the type of an element
>>> ,ype(l[2])
<type 'str'>
>>> l
[0, 1, 'two', 3, 4, 5, 6, 7, 8, 9]
>>> l[2] = l[2:5] * 2
>>> l
[0, 1, ['two', 3, 4, 'two', 3, 4], 3, 4, 5, 6, 7, 8, 9]
>>> del(l[2])     # Remove single element
>>> l
[0, 1, 3, 4, 5, 6, 7, 8, 9]
>>> l[1:3] = []    # Remove a slice
>>> l
[0, 4, 5, 6, 7, 8, 9]

上一页  1 2 3 4 5 6  下一页

Tags:探索 Python 类型

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接