一,列表
-
可以有序的存储大量数据,用以[ ]括起来,每个元素⽤' , '隔开⽽且可以存放各种数据类型。
-
列表时可变的,即可以在本身上进行修改。
-
列表的索引和切片
-
列表和字符串一样是有索引的,也是可迭代的
li = [1,2,3,"123",True] print(li) print(li[-2],type(li[-2])) # 索引查找 print(li[1:4]) # 支持切片 切片所得是列表 print(li[-2:1:-1]) # 支持步长
-
-
列表的增删改查
-
注意, list和str是不⼀样的. lst可以发⽣改变. 所以直接就在原来的对象上进⾏了操作
-
增
li.append("4") # 追加,在末尾添加一个元素 li.extend([5,6]) # 扩展,迭代添加."10" => "1","2" li.insert(0,"A") # 按索引位置插入一个元素,效率特别低 li2 = [4,5,6] li3 = li + li2 # 列表合并
-
删
lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"] deleted = lst.pop() # 弹出,可以指定索引位置,默认弹出最后一个元素,有返回值,返回的是弹出的元素 el = lst.pop(2) # 删除2号元素 lst.remove("麻花藤") # 删除指定元素,必须知道元素的内容 lst.remove("哈哈") # 删除不存在的元素会报错 lst.clear() # 清空list,清除列表内全部的信息,得到一个空列表 del lst[2] # 删除特定索引位置的元素 del lst[1:3] # 删除特定索引范围内的元素,也可以改变步长
-
改
li = [1,2,3,"123",True] li[0] = "1" # 指定位置修改 li[1:3] = [9,8,7] # 迭代修改,支持切片修改 # 使用步长时注意取几个必须放几个,步长为1时则不需要注意个数。
-
查
li = [1,2,3,"123",True] print(li[1]) # 指定索引位置查询 for each in li: print(each # 列表是⼀个可迭代对象, 所以可以进⾏for循环
-
-
列表的嵌套
采用降维操作,一层一层的看
li = [1,2,3,"123",[9,8,7]] li[-1][0] => 9
二,元组
-
俗称不可变的列表。⼜被成为只读列表,,元组也是python的基本数据类型之⼀,⽤⼩括号括起来,⾥⾯可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但就是不能改。
tu = (1,2,3,"123",[1,2,3]) for each in tu: print(each) # 元组也是可以迭代的,可以用for循环遍历 tu = (1,) # 注意,如果元组中只有一个元素,一定要在后面添加一个逗号,否则就不是元组 tu = () tu = tuple() # 创建空元组
- 关于不可变, 注意: 这⾥元组的不可变的意思是⼦元素不可变。⽽⼦元素内部的⼦元素是可以变,这取决于⼦元素是否是可变对象。
- 元组也有count(), index(), len()等⽅法
-
元组的嵌套
- 参照列表的嵌套