一 . 列表
# 列表的定义
列表就是能装对象的对象
在python中用[ ]来描述列表,内部元素用逗号隔开,对数据类型没有要求
索引和切片
lst = ["天龙八部", "西游记", "红楼梦", "银平煤", "绿平煤"]
print(lst[3])
print(lst[-3])
print(lst)
print(lst[1:4]) # 切片,原来是什么类型. 得到的就是什么类型
print(lst[-1::-2]) # 倒着切
相关的增删改查操作
lst = ["凡人修仙传", "诛仙", "神墓"]
# 添加 append() 追加. 在后面添加
lst.append("看见")
lst.append("追风筝的人")
lst = ["凡人修仙传", "诛仙", "神墓"]
lst.insert(1, "琴帝") # 添加到指定位置
lst = ["凡人修仙传", "诛仙", "神墓"]
lst.extend(["胡辣汤","猪蹄子", "猪头肉", "五花肉"]) # 迭代添加
列表的删除
lst = ["斗破苍求", "手机", "爵迹", "满城尽带黄金甲", "三生三世十里桃花"]
pop() 默认从后往前删
lst.pop()
pop(索引) 按照索引位置删除
lst.pop(1)
lst = ["斗破苍求", "手机", "爵迹", "满城尽带黄金甲", "三生三世十里桃花"]
remove(元素)
lst.remove("满城尽带黄金甲")
lst = ["斗破苍求", "手机", "爵迹", "满城尽带黄金甲", "三生三世十里桃花"]
del lst[::2]
lst = ["斗破苍求", "手机", "爵迹", "满城尽带黄金甲", "三生三世十里桃花"]
lst.clear() # 清空.
列表的修改
lst = ["苏秦", "武大", "武二", "宝元", "李诞", "池子", "王建国"]
lst[3] = "松江" # 通过索引修改 index out of range 索引下标越界
print(lst)
列表的查询
for i in 123: # 'int' object is not iterable
print(i)
for i in '123': # 字符串可以
print(i)
二 . 元组
tu = ("DNF", "LOL", "王者荣耀", "QQ飞车", "炫舞", {}, tuple(), [])
print(tu)
# tu[1] = "呵呵" # 元组是只读列表,不能增删改,只能看
print(tu)
元组也有索引和切片
print(tu[3:5])
print(tu[3:7:2])
元组有坑
空元祖
tu = tuple() # 固定写法
元组中如果只有一个元素
tu = (1) # 不是元组 <class 'int'>
tu = (1, ) # 这个是元组 <class 'tuple'>
print(type(tu))
好习惯: 写元组的时候末尾加个逗号
tu = ("锅包肉", "酸菜炖粉条+五花肉", "红烧鲤鱼", "红烧肉")
# 元组也是可迭代的
for item in tu: # 可以使用for循环
print(item)
三 . range
# range(参数) [0,参数) range(5),就是0到4
for i in range(20):
print(i)
# range(参数1, 参数2) [参数1, 参数2) 切片
for i in range(10, 20):
print(i)
# range(参数1, 参数2, 参数3) [参数1, 参数2) 每隔 参数3个位置取一个
for i in range(10, 20, 3):
print(i)
for i in range(20,10,-2):
print(i)
# 步长如果为负数,那么start要比end大,好比数轴,步长为正数,从左往右找,为负数,从右往左找
lst = ["周杰伦", "动画城", "大风车", "随便加", "宝宝", "孟孟", "萌萌", "孟萌"]
for item in lst: # 只能拿到元素. 获取不到索引
print(item)
for i in range(len(lst)): # i就是索引 lst[i]元素
print(i, lst[i])