一 列表
1.
介绍:列表是python 中的基础数据类型之一,其他的编程语言也有类似的数据类型.
它是以 [ ] 括起来的,每个元素用 " ," 隔开,并且可以存放 各种 数据类型
列表相比于字符串,不仅可以存放不同的数据类型,而且可以存放大量的数据,列表是有序的(按照你
保存的顺序) , 有 索引,可以切片,方便取值
2.
列表的切片和索引
列表和字符串一样 也 拥有索引:
## 列表切片是 左闭右开的 区间 , 就是 顾头不顾尾 # [start:end:step] start:起始位置 end : 结束位置 step :步长,可以改变方向 lst = [1,2,3,4,5,6,7,8,9,10] print(lst[1]) # 2 print(lst[:]) ## [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(lst[::2]) ## [1, 3, 5, 7, 9] print(lst[-1:-8:-2]) ## [10, 8, 6, 4]
二 .列表的增删改查
1.增 : 注意 list 和 str 是不一样的,lst可以改变,所以直接在 原来的对象上进行操作
lst = ["嘻嘻姐","呵呵妹","傻了吗"] lst.append("哈哈哥") print(lst) ## ['嘻嘻姐', '呵呵妹', '傻了吗', '哈哈哥'] lst = [] while 1: content = input("输入你的内容,输入Q退出:") if content.upper() == "Q": break lst.append(content) print(lst) lst = ["关之琳","李若彤","王菲"] lst.insert(1,"刘德华") print(lst) ## ['关之琳', '刘德华', '李若彤', '王菲'] ## insert() 在指定的位置加入元素,原来的元素向后移一位 lst = ["杨过","小龙女","阿紫","乔峰"] li = ["哈哈哥","嘻嘻姐"] lst.extend(li) print(lst) ### ['杨过', '小龙女', '阿紫', '乔峰', '哈哈哥', '嘻嘻姐'] ### extend() 是迭代添
增加 append() 默认在最后面 追加
insert() 指定位置添加
extend() 迭代着添加
2.删 pop remove clear del
lst = ["乌鲁木齐","克拉玛依","郑州","西安"] ret = lst.pop(2) ## 不写数字的是默认删除最后一项,写了数字按照索引删除 print(ret) ## "郑州" print(lst) ## ['乌鲁木齐', '克拉玛依', '西安'] #### 注意 ,pop() 是有返回值的,ret = lst.pop() 返回值就是被删除的元素 lst = ["乌鲁木齐","克拉玛依","郑州","西安"] lst.remove("克拉玛依") print(lst) ### ['乌鲁木齐', '郑州', '西安'] ### remove() 删除指定的元素 , 删除不存在会报错 lst = ["乌鲁木齐","克拉玛依","郑州","西安"] lst.clear() print(lst) ## [] ## clear() 是全部清除,一个不留 lst = ["乌鲁木齐","克拉玛依","郑州","西安","太原","北京"] del lst[0:3:2] print(lst) ## ['克拉玛依', '西安', '太原', '北京'] ### del 切片删除 可以有步长,每2 个删除 1个
3.改 利用索引切片修改
lst = ["大盘鸡","手抓饭","牛肉面","烤包子","烤全羊","熏马肉"] lst[2] = "大乌苏" print(lst) ## ['大盘鸡', '手抓饭', '大乌苏', '烤包子', '烤全羊', '熏马肉'] lst = ["大盘鸡","手抓饭","牛肉面","烤包子","烤全羊","熏马肉"] lst[1:4:2] = ["大乌苏","红乌苏"] print(lst) ### 结果是 ['大盘鸡', '大乌苏', '牛肉面', '红乌苏', '烤全羊', '熏马肉'] ## 注意: 利用步长的时候,取了几个值,对应的改的元素的个数 一定要和 前面的 一致 lst = ["大盘鸡","手抓饭","牛肉面","烤包子","烤全羊","熏马肉"] lst[1:4] = ["哈哈哥最喜欢新疆的馕坑肉"] print(lst) ### 结果是 ['大盘鸡', '哈哈哥最喜欢新疆的馕坑肉', '烤全羊', '熏马肉'] ############ 注意 ######### lst = ["大盘鸡","手抓饭","牛肉面","烤包子","烤全羊","熏马肉"] lst[1:4] = "馕坑肉" print(lst) ### 结果是 ['大盘鸡', '馕', '坑', '肉', '烤全羊', '熏马肉'] ## 如果不加[] 就变成 迭代添加进去了
4. 查 利用for循环 进行查找
for el in lst: print(el)
5. 其他操作
lst = ["星星","月亮","太阳","月亮","星星","太阳"] num = lst.count("星星") print(num) ### 2 查询 元素 出现的 次数 lst = [4,6,7,9,8,11,22,13,15] lst.sort() print(lst) ### [4, 6, 7, 8, 9, 11, 13, 15, 22] 默认升序 lst.sort(reverse=True) print(lst) #### 降序 lst.reverse() print(lst) #### 这个也是 降序的操作 lst = [4,6,7,9,8,11,22,13,15] print(len(lst)) #### 求列表的长度 9
三 列表的嵌套
就是 列表里边还有 列表的操作 ,一层一层的数,注意 数数的时候,是从 0 开始的
四 元祖和元祖的嵌套
元祖: 俗称不可变的列表,又被称为只读 列表,元祖也是 python 的基本数据类型,用 () 括起来的,里边可以放
任何数据类型,, 查询 可以 , 切片 也 可以, 循环也可以, 就是不能 改..........想改可以换成列表,再进行
注意 注意 注意 如果元祖中只有一个元素,后面必须加 " ," tu = (1,) print(type(tu))
五 range
range 可以帮我们获取到一组数据,通过 for 循环能够获取到这些 数据
for num in range(10): ## 左闭右开区间 也就就是 10 是取不到的,但是 左边从0 开始 print(num) ## 0 1 2 3 4 5 6 7 8 9 for num in range(1, 10, 2): print(num) ## 1 3 5 7 9 for num in range(10, 1, -2): # 反着来, 和切⽚⼀样 print(num) ### 10 8 6 4 2