1. 什么是列表 列表是一个可变的数据类型 列表由[]来表示, 每一项元素使用逗号隔开. 列表什么都能装. 能装对象的对象. 列表可以装大量的数据2. 列表的索引和切片 列表和字符串一样. 也有索引和切片. 只不过切出来的内容是列表 索引的下标从0开始 [起始位置:结束位置:步长]3. 列表的增删改查* 1. 增加 append() 追加 insert(index, 元素) 在index位置添加元素 extend() 迭代添加 2. 删除 pop(index) 按照位置删除元素 remove(元素) 直接删除元素 del 切片. clear() 清空列表 3. 修改 索引修改 切片修改 4. 查询 for el in list: el 5. 常用操作 1. sort() 排序 reverse=True降序 2. reverse() 翻转 3. len() 求长度4. 列表的嵌套 降维. 一层一层看5. 元组 只读列表. 只能看啥也不能干. 使用()表示元组 如果元祖中只有一个元素(元素, ) 空元组: tuple() 元祖是一个可迭代对象, 可以使用for循环6. range range(n) -1 range(m,n) 从从0到nm到n-1 range(m,n,q) 从m到n-1 每q个取1个 综上就是切片7. 使用range和for循环来获取列表中的索引 for i in range(len(列表)): i 索引 列表[i] 元素
# 1. 新增
# lst = []
# lst.append("周杰伦") # 追加 在最后添加, 效率比较高
# lst.append("周芷若")
# lst.append("周公瑾")
# print(lst)
# lst = ["刘德华", "渣渣辉", "古天乐", "陈小春"]
# lst.insert(2,"马德华") # 插入, 可能会导致元素移动
# print(lst)
# lst = ["刘昊然", "张一山", "徐峥", "黄渤"]
# lst.extend(["刘能", "赵四", "广坤"])
# print(lst)
# 2. 删除 pop, remove, clear, del
# lst = ["刘能", "广坤", "皮长山", "大脚"]
# lst.pop(2) # 可以指定元素删除(索引)
# print(lst)
# s1 = lst.pop() # 默认弹出最后一个
# print(s1)
# s2 = lst.pop()
# print(s2)
# print(lst)
# lst.remove("广坤")
# lst.remove("大脚")
# print(lst)
# lst = ["语文", "数学", "地理", "历史", "英语", "化学"]
# lst.clear() # 清空
# 可以切片删除
# del lst[2]
# del lst[0]
# del lst[::2]
# print(lst)
# lst = ["功夫", "大话西游", "少林寺", "无间道", "战狼", "战狼2"]
# # lst[2] = "西西里的美丽传说"
# lst[-3] = "新世界"
# lst[1:3] = ["一步之遥"]
# lst[1:5:2] = ["胡辣汤", "烩面"] # 注意如果步长不是1. 那么元素的个数要匹配
# print(lst)
# 列表是一个可迭代对象. 可以使用for循环
# for el in lst:
# print(el)
关于元组
# 元组就是不可变的列表, 元组使用()表示, 元素与元素之间使用逗号隔开, 数据类型没有限制, 只读列表
# 清朝皇帝 (努尔哈赤, 皇太极, 顺治, 康熙, 雍正, 乾隆)
# huang = ("努尔哈赤", "皇太极", "顺治", "康熙", "雍正", "乾隆", "嘉庆", "道光", "光绪", "咸丰")
# # huang[1] = "朱元璋" # 报错 'tuple' object does not support item assignment
# print(huang)
# 小括号在计算机里还表示算数优先级
# print((8+3)*7)
# tu = (1,) # 加了逗号, 就是元组了
# tu = ("哈哈","呵呵","嘿嘿",)
# print(type(tu))
# lst = list() # []
# tu = tuple() # 空元组
# 元组也有索引和切片 和列表一样和字符串也一样
# tu = ("iphone", "nokia", "砸核桃", "Lenovo", "HTC", "Honor")
# print(tu[-1])
# print(tu[1:3])
# print(tu[1:5:2])
# 不可变指的是第一层元素不可变, 第二层取决于你的数据类型
# tu = (1, 2, 5, ["胡辣汤", "滋滋冒油的大猪蹄子", "酱猪肘", "香喷喷的米饭", "脆皮炸鸡"])
# tu[3].append("锅包肉")
# print(tu)
# tu = ("孙悟空", "白骨精", "哪吒", "二师兄", "妲己")
#
# for el in tu: # element 元素
# print(el)
range
# range()
# for i in range(100): # 0-9
# print(i)
# for i in range(3, 8): # 从3-8 没有8
# print(i)
# for i in range(5, 10, 2): # 从5 到 10 步长是2
# print(i)
# range(边界) 从0到这个边界
# range(start, end) 从start到end结束. 不能到end
# range(start, end, step) 从start到end. 步长是step
# lst = ["张无忌", "张三丰", "张翠山", "张一山", "张磊", "张伟", "张角"]
# # for el in lst: # 这样循环. 没有索引
# # print(el)
#
# for i in range(len(lst)): # 有索引了
# print(lst[i])
# tu = ("首页", "登录", "注册", "购物", "退出")
# for i in range(len(tu)):
# print(i,tu[i])