除了几种基本的数据类型:整数、浮点数和字符串之外,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[:] # 拷贝赋值