python之路-列表、元组、range
一 . 列表
# 列表的定义 列表就是能装对象的对象 在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])