1、list
list数据类型(列表数据类型):
num_list = [1, 'tom', 3.14]
print(num_list)
len函数(内置函数):
print(len(num_list)) # 查看列表或字符串等的长度
列表具有索引,利用索引来标识列表中的元素。索引从0开始,如果取元素时索引值大于列表的长度-1,就会出现下表越界问题
列表中取元素:print(num_list[0]),取列表中的最后一个元素:num_list-1
向列表中追加元素(append):
num_list.append(2) # 参数为一个元素对象
插入元素(insert):
num_list.insert(1, 'a') # 第一个参数为插入的位置,第二个参数为插入的元素
删除元素(pop,remove):
num_list.pop() # 没有参数默认删除最后一个元素
num_list.pop(1) # 有参数时,参数为要删除元素的索引
num_list.remove(1) # 一处列表中的某个元素,如:1
替换元素:
num_list[0] = 2 # 给索引处的值重新分值达到替换的意图
嵌套:
num_list = [1,2,3,[4,5,6]] # 列表嵌套时,外部列表索引不变,内部列表索引也从0开始,取元素时相当于二位数组,如:print(num_list[3][0])会输出4
还有一种写发就是:
a_list = [1, 2, 3]
b_list = [a_list, 4, 5, 6]
这也是一种嵌套,和上面的情况处理一样
清空元素(clear):
num_list.clear() # 清空列表中的元素
排序(sort):
num_list.sort(reverse=True) # reverse参数默认为False,如果是True,则输出倒置,sort没有返回值
num_list = [1,2,3]
new_list = sorted(num_list, reverse=True)
sorted内置方法,不是list方法,有返回值
2、tuple
元组类型用()来表示
num_tuple = () # 没有元素但也是tuple
元组中取元素和列表相同,根据索引取出相应的值,num_tuple[0],也可以使用负索引
当元组中只有一个元素时,不能写为:num_tuple = (1), 元素后面任需一个逗号,正确的写法为:num_tuple = (1,)
元组类型元素不能添加和删除(元组内不能被改变),当元组内嵌套列表时,列表可以被改变
3、list和tuple的对比
相同点:
①、都是序列数据类型
②、容器中的元素都存在索引
③、都是可迭代对象
④、元素的类型可以不同
⑤、支持负索引
⑥、支持切片
⑦、获取元素的速度接近一个恒定值
不同点:
list定义完之后还可以改变,tuple定义好之后里面的元素不能改变
4、切片
print(num_list[0, 5, 2])
切片是从哪到哪的值,第一个参数是起始索引,第二个是终止索引,但是包左不包右,也就是你想终止的元素的索引加一,第三个参数是步长(如果步长为正,则是从左往右切,如果为负,则是从右往左切)
5、一个新的内置函数
enumerate:每一次循环遍历每一个元素的时候,给每一个元素产生一个新的索引
num_list= ['小黑', '小胖子', '地瓜', '小明']
for index, name in enumerate(num_list):
print(index, name)