学习第四天:内容
程序员文章站
2022-06-17 08:27:17
1.列表 列表 list 容器 增加 删除 改 查 列表的嵌套 2.元祖 元组 tuple 定义的方式: 3.range ......
1.列表
列表 -- list -- 容器
有序,可变,支持索引 列表: 存储数据,支持的数据类型很多 字符串,数字,布尔值,列表,集合,元祖,字典, 定义一个列表 lst = ["dsb",123,true,"黑哥"] # 用逗号分隔的是一个元素 print(lst[0]) print(id(lst[0])) id获取对象的内存地址
lst[0] = "dsb" print(lst) # ['dsb', 123, true, '黑哥'] s = "alex" # 字符串是不可变数据 s = "wusir" s[0] = "b" print(s)
增加
append 追加 insert 插入 extend 迭代添加
lst.append("大煎饼") #追加(在列表的最后位置添加一个内容) print(lst) lst.insert(2,"wusir") #插入 以后尽量不要使用(当数据量比较大的时候会影响效率) print(lst) lst.extend("可迭代的内容") # 迭代添加 print(lst)
删除
del lst -- 删除整个列表 del lst[0] -- 通过索引删除 del lst[1:2] -- 切片删除 del lst[1:4:2] -- 步长删除 clear 清空列表 remove 通过元素进行删除 pop 1.默认删除最后一个 2.有返回值返回的是被删除的元素 3.通过索引进行删除
lst.pop() # 弹 -- 默认删除最后一个 print(lst) lst = ["dsb",123,true,"黑哥"] lst.pop(2) # 通过指定索引进行删除 print(lst) lst = ["dsb",123,"dsb",true,"黑哥"] lst.remove("dsb") # 移除 -- 通过元素名字进行删除 print(lst) del lst[0] # 通过索引删除 print(lst) del lst[0:3] # 通过切片删除 print(lst) del lst[0:3:2] # 通过步长删除 print(lst) lst.clear() #清空 print(lst)
改
lst[0] = 1 lst[1:2] ="qaaa" # 元素可以超出切片的位数 lst[1:4:2] = "12" # 元素和位置一一对应,多也不行少也不行
lst = ["dsb",123,"dsb",true,"黑哥"] lst[1] = "123" print(lst) lst = ["dsb",123,"dsb",true,"黑哥"] lst[1:2] = "12345" print(lst) lst = ["dsb",123,"dsb",true,"黑哥"] lst[1:4] = 12,13,14,15 print(lst) lst = ["dsb",123,"dsb",true,"黑哥"] lst[1:4:2] = "12" print(lst) # 步长不为1的必须用一一对应,多一个也不行,少一个也不行
查
for i in lst: print(i) for 循环 lst = ["dsb",123,"dsb",true,"黑哥"] for i in lst: print(i)
列表的嵌套
#取值通过索引进行取值,一层一层的进行查找 lst = [1,"alex","春生","小东北","渣弟", ["大黑哥",["常鑫",["自行车"],"大煎饼","掉井盖","三金"], "冯强","海峰",["太白金星","女神","吴超",["肖锋"]]]] print(lst[-1][1][1][0]) a = lst[-1][-1][-2] print(a) 不管什么类型进行切片的时候获取都到都是源数据类型
2.元祖
元组 -- tuple
有序,不可变,支持索引 元组用于存储一些比较重要的信息 元组在配置文件中会使用 元组就是不可变的列表
定义的方式:
tu = (1,"alex",true,"大黑哥",[1,2,3]) lst = [1,"alex",true,"大黑哥",[1,2,3]] print(tu) tu = (1,"alex",true,"大黑哥",[1,2,3]) print(tu[0:6])
for 循环 for i in tu: print(i)
3.range
-*- coding:utf-8 -*- [编码] range -- 范围 print(list(range(0,10))) # 顾头不顾尾
python3: range 是一个可迭代对象 python2: xrange和python3中的range是相似的 range返回一个列表 range 范围--是顾头不顾尾
print(list(range(0,10,1))) #步长不写得时候默认为1 [0:10:1] print(list(range(10,-2,-1))) #步长不写得时候默认为1 [10:-2:-1] print(list(range(10))) #步长不写得时候默认为1 [:10] print(list(range(0,10,1))) #步长不写得时候默认为1 [0:10:1] print(list(range(10,-2,-1))) #步长不写得时候默认为1 [10:-2:-1] print(list(range(10))) #步长不写得时候默认为1 [:10] range(起始位置,终止位置) -- [起始位置:终止位置] range(终止位置) -- [:终止位置] range(起始位置,终止位置,步长) -- [起始位置:终止位置:步长]
使用for循环和range 打印 100 ~ 1 for i in range(100,0,-1): print(i) for i in range(1,101,2): print(i) for i in range(0,101,2): print(i) for i in range(0,101,6): print(i)
错误示例: while range(0,10): print(1) lst = [] flage = true while flage: name = input("请输姓名:") lst.append(name) if len(lst) == 3: flage = false print(lst) lst = [] for i in range(3): lst.append(input("请输入姓名:")) print(lst)
for 和 range配合使用