您的位置:首页 > 理论基础 > 数据结构算法

简明Python教程读书笔记-7 几种Python内置的数据结构

zenghui08 2011-02-11 10:01 141 查看
除了几种基本的数据类型:整数、浮点数和字符串之外,Python还支持其他更为复杂的数据结构,如列表等。这些不是编程语言的必须组成部分,但是在程序设计中使用非常广泛,如果在语言中就有对他们的支持,将大大方便编程人员对该语言的使用

1. 列表

某种数据类型的一个序列,列表中可以包含列表。列表中的元素值可以被改变。

列表的定义:mylist = ['first', 'second', 'third']

通过下标应用列表中的元素,如mylist[1],下标从0开始。

2. 元组

元组和列表类似,但元组中的元素不能被改变。元组定义在圆括号内。

只含有一个元素的元组定义时需要加逗号,如single = (1,)

元组可用于格式化输出语句中,实现类似C语言中printf的功能,如:

age = 23

name = 'tom'

print('%s is %d years old' %(name, age))

3. 字典

字典是key/value对的集合。定义方式:d = {key1:value1, key2:value2}

4. 序列

列表、元组和字符串都是序列。序列的主要特点是可以进行索引和切片操作。

索引通过[]完成,下标从0开始,下标可以为负数,-1表示倒数第一个元素,-2表示倒数第二个元素,以此类推

切片操作是选取序列中的一段,冒号前后表示下标的起止,范围包括开始的下标但不包括终止的下标,如mylist[1:3]表示选取mylist[1]和mylist[2]。起始下标为空表示从第一个元素开始,终止下标为空表示到最后一个元素为止(包括最后一个元素)

5. 引用

只有简单对象(整数、浮点数和字符串)的赋值操作是值拷贝,其他对象(如列表)的赋值操作不拷贝整个对象。如果要拷贝整个对象,需要使用切片操作,如:

mylist2 = mylist1 # 引用

mylist2 = mylist1[:] # 拷贝赋值
标签: