Python作为一门高级语言,有着特别方便的数据结构
List
list是一种列表型数据,如同其他语言中的可变长数组一般,可以随时添加和删除其中元素
squares = [1,4,9,16,25]
主要操作
- list可以使用下标来访问数据,如
squares[0]
返回1,它也支持负向访问,如squares[-1]
返回25,需要注意的是,由于0与-0意思相同,所以负向访问的索引从-1开始。在数组访问越界时会抛出IndexError错误 - list同样可以通过切片操作生成新的list,切片的操作见此
- 列表还支持连接操作,如
squares + [1,2,3]
返回[1,4,9,16,25,1,2,3]。 - len(squares)返回列表的长度
- 也可以创建嵌套列表
主要方法
- append():向list末尾追加元素
- insert(i,’aaaa’):向i位置插入一个元素
- pop():删除并返回最后一个元素
- pop(i):删除指定位置的元素,其中i是索引位置
可见,List的方法可以方便的替代栈的操作
tuple
和list最大的区别就是初始化后无法进行修改,不可变的代码更加的安全,如果可能,能用tuple代替list就尽量用tuple
注意:在定义一个空tuple时可以直接
t = ()
,但是定义只有一个元素的tuple不能使用t = (1)
,因为编译器会将t定义为1,所以,在定义只有一个元素的tuple时应该t = (1,)
,Python在显示只有一个元素的tuple时也会加一个逗号
tuple的不可变是指向的不可变,如果tuple中拥有一个list,还是可以通过索引修改list中的元素的。但是不可将另一个list重新赋给tuple
总结
List和tuple作为基础的Python类型,非常的方便,处处体现了Python简洁的设计