基本数据类型(list,tuple)以及range的基本应用
一.什么是列表
列表是一个可变的数据类型
列表由[]来表示,每一项元素使用逗号隔开,列表什么都能装,能装对象的对象
列表可以装大量的数据
# lst = ["移动硬盘", "手机", 110, True, False, ["人民币", "美金", '欧元']]
二.列表的索引和切片
列表和字符串一样,也有索引和切片,只不过切出来的内容是列表
索引的下标从0开始
[起始位置:结束位置:步长]
# lst = ["海上钢琴师", "奥特曼", "咒怨", "舌尖上的中国", "穹顶之下", "金刚"]
# print(lst[3][2]) # 上
# print(lst[-2]) # 穹顶之下
# print(lst[1:4]) # ['奥特曼', '咒怨', '舌尖上的中国']
# print(lst[-3:-1]) # 顾头不顾尾 ['舌尖上的中国', '穹顶之下']
# print(lst[1::2]) #['奥特曼', '舌尖上的中国', '金刚']
# print(lst[-1:-5:-2]) #['金刚', '舌尖上的中国']
三.列表的增删改查
1.增加
append() 追加
insert(index, 元素)在index位置添加元素
extend()迭代添加
# lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚"]
# 在屁股后面添加
# lst.append("黄宏") # 在原有的基础上进行的操作
# 在xxx位置插入xxxx内容
# lst.insert(1,"王力宏")
# lst.extend(["麻花藤", "马云", "王健林", "许家印"]) # 迭代添加
# print(lst)
2.删除
pop(index)按照位置删除元素
remove(元素)直接删除元素
del 切片
clear()清空列表
# 删除
# lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚"]
# data = lst.pop(2) # 返回被删除的数据
# print(data)
# print(lst)
# lst.remove("赵四") # 删除元素.
# lst.remove("刘能") # 如果不存在会报错
# 切片删除
# del lst[1:3]
# 清空
# lst.clear()
# print(lst)
3.修改
索引修改
切片修改
#修改
# lst = ['DNF','CF','LOL','CSGO',"GTA5"]
# lst[1] = '绝地求生'
# print(lst)
# lst[0:2] = ['剑网3']
# print(lst)
# lst[1::2] = ['绝地求生','剑网3'] # 先删除后添加
# print(lst)
# lst[-1::-2] = ['绝地求生','剑网3','H1Z1'] # 切片修改的时候. 如果步长不是1. 注意元素的个数
# print(lst)
4.查询
for el in list
el
# 查询
# lst = ["锅包肉", "好人家火锅", "巫山烤鱼", "清水煮白菜", "烤鸭"]
# for el in lst: # element(元素)
# print(el)
5.常用操作
(1). sort()排序 :升序; 降序:sort( reverse = True)
# lst = [1,5,3,4,3,2,44,3,2,22]
# lst.sort(reverse=True) # 排序. 默认升序, reverse=True 降序
# print(lst)
(2). reverse()翻转
# lst = ['晓雪',"小茹", "小花","晓梅"]
# lst.reverse() # 翻转
# print(lst)
(3). len()求长度
# lst = ['晓雪',"小茹", "小花","晓梅"]
# print(len(lst))
四.嵌套列表
降维:一层一层看
# lst = ["alex", "gay","wusir",["范冰冰","李冰冰",[1, "火锅", "ritian", "凤爪"],"王冰冰"]]
# # print(lst[3][2][1]) # 火锅
# lst[3][2][2] = lst[3][2][2].upper()
# print(lst)
# # 输出:['alex', 'gay', 'wusir', ['范冰冰', '李冰冰', [1, '火锅', 'RITIAN', '凤爪'], '王冰冰']]
# lst[3][2][0] = lst[3][2][0] + 99
# print(lst)
# # 输出:['alex', 'gay', 'wusir', ['范冰冰', '李冰冰', [100, '火锅', 'RITIAN', '凤爪'], '王冰冰']]
五.元祖
只读列表,只能看啥也不能干
使用()表示元祖
如果元祖中只有一个元素(元素,)
空元祖: tuple()
元祖是一个可迭代对象,可以使用for循环
# print((1+3)*5)
# print((3))
# tu = (3, ) # 元组中如果只有一个元素. 需要在括号里写一个,
# tu = tuple() # 空元组
# print(type(tu))
# tu = ("人民币", "美元", "英镑", "欧元")
# tu.append("哈哈")
# tu[0] = "日元" # 不予许修改
# del tu[2] # 删除也不行
# print(tu[2]) # 索引可以用
# print(tu[::2])
# for el in tu:
# print(el)
# 元组的第一层是不能进行赋值的. 内部元素是没有要求
# tu = (1, "哈喽", "how are you?", "alex", ["alex"])
# tu[3].upper()
# print(tu)
六.range
range(n) 从0到n-1
# range()是一个可迭代对象
# 1. range(n) 0 -> n-1
# for i in range(10):
# print(i)
range(m,n) 从m到n-1
# 2. range(m,n) m -> n-1
# for i in range(1,10):
# print(i)
range(m,n,q) 从m到n-1,每q个取1个
# 3. range(m,n,q) m -> n-1 每q个取一个
# for i in range(1,10,3):
# print(i)
综上就是切片
七.使用range和for循环来获取列表中的索引
for i in range(len(列表))
i 索引
列表[i] 元素
# 0 1 2 3 4 5
# lst = ["砂锅", "馒头", "盖浇饭", "刀削面", "大麻花", "大煎饼"]
# # 获取到列表的索引. 拿到索引之后. 可以拿到元素
# for i in range(len(lst)):
# print(i) # i就是lst的索引
# print(lst[i])