2019-06-26 列表和元组

取列表或者元组的最后一个元素
l = [1, 2, 3, 4]   
l[-1]
4

tup = (1, 2, 3, 4)
tup[-1]
4
列表和原则都支持切片
l = [1, 2, 3, 4]
l[1:3] # 返回列表中索引从 1 到 2 的子列表
[2, 3]

tup = (1, 2, 3, 4)
tup[1:3] # 返回元组中索引从 1 到 2 的子元组
(2, 3) 
# 创建空列表使用B效率更高
# option A
empty_list = list()

# option B
empty_list = []
区别主要在于list()是一个function call,Python的function call会创建stack,并且进行一系列参数检查的操作,比较expensive,反观[]是一个内置的C函数,可以直接被调用,因此效率高

总的来说,列表和元组都是有序的,可以存储任意数据类型的集合,区别主要在于下面这两点:
1、列表是动态的,长度可变的,可以随意的增加、删除或改变元素,列表的存储空间略大于元组,性能略逊于元组
2、元组是静态的,长度大小固定,不可以对元素进行增加、删除或改变操作,元组相对于列表更加轻量级,性能稍优