列表[ ]元组()range
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])