# 序列类型的方法
# 增删改查
# 列表的方法
# 增
# 列表添加元素 可以添加任何元素
# append 在元素最后位置添加
# li = [1,2,3,4]
# li.append(5) # 在该列表中最后当成一个整体添加元素,不需要赋值,因为他是可变类型(如赋值:li2 = li.append(5)则打印出来是None空)
# li.append('aasasas') # 可添加字符串
# li.append([5,6,7]) # 可添加列表
# print(li)
# insert 指定位置添加
# li = [1,2,3,4]
# li.insert(0,9) # 第一个参数下标,第二个参数添加的内容
# print(li) # 直接print打印就相当于一个赋值的状态
# extend # 被添加元素,依次按顺序分开插入到元素末尾
# li = [1,2,3,4]
# li.extend("excel") # 字符串的形式则依次按顺序分开插入元素末尾
# li.extend('111213')# 字符串的形式则依次按顺序分开插入元素末尾
# li.extend(['excel', 'xx', 'aa']) # 可添加序列类型列表,添加到末尾,分开插入
# li.extend([12, 13, 14]) # 可添加序列类型列表,添加到末尾,分开插入
# print(li)
# 删
# li = [1,2,3,4]
# li.pop() # 如不在括号里添加元素,则删除列表最后一个元素
# print(li)
# li.pop(1) # 如在括号里添加元素,则从0开始顺序删除下标元素
# print(li)
# print(li.pop(3)) # 这种返回的是已删除的对应的元素,不建议这样使用
# li = [1,2,3,4,'as']
# li.remove('as' ) # 指定元素删除,不需要按0开始排序
# print(li)
# li = [1,2,3,4]
# li.clear() # 直接全部清空删除
# print(li)
# 改
# li = [1,2,3,4]
# li[0] = 's' #从0开始下标修改元素
# print(li)
# 查
# li = [1,2,3,4,5,6,4,7,4,2,1,3,3,2,1]
#
# print(li.index(4)) #从列表中找出某个值第一个匹配项的索引位置 ,参数为下标,可以赋值可以pirnt,查不到就报错
# print(li.index(4,5)) # 方法1print :后面那个2是参数第二个开始的位置查询,包括开始的位置
# ind = li.index(4,3) # 方法2赋值:后面那个2是参数第二个开始的位置查询,包括开始的位置
# print(ind)
# li = [1,2,3,4,5,6,4,7,4,2,1,3,3,2,1,1,1]
# z = li.count(1) # 统计列表数字的个数
# print(z)
# li = [1,2,3,4,5,6,4,7,4,2,1,3,3,2,1]
# li2 = li.copy() # 复制 到新的列表中,不需要在括号里加参数
# print(li2)
# li = [1,2,3,4,5,6,4,7,4,2,1,3,3,2,]
# li.sort() # 从小到大进行排序
# print(li)
#
# li.reverse() #反向排序
# print(li)
# print(dir(li)) 查询方法
# 元组方法 (元组只能查询,因为元组是不可更改的)
# li = (1,2,3,4,5,6,4,7,2,4,2,1,3,3,2,1)
# print(li.count(2)) #统计元组数字的个数
# li = (1,2,3,4,5,6,4,7,2,4,2,1,3,3,2,1)
# print(li.index(3)) # 参数一为元素值,可以赋值可以print,查不到就报错
# print(li.index(3,3)) #方法1print :参数二查询开始的位置,包括开始的位置
# q = li.index(3,3) # 方法2赋值:参数二查询开始的位置,包括开始的位置
# print(q)
#字符串方法 # 不可变,不会改变对象的本身,在对象进行改变的时候都需要进行赋值
# li = "qwvemrtyuviospajsdvmfghjkmlzvcsvbnvm"
# print(li.count("v")) #统计字符串里的元素个数,括号必须带“”
# li = "qwvemrtyuviospjsdvmfghjkmlzxvcsvbnvm"
# print(li.index("x")) # 查找,查不到则报错
# print(li.find("a")) # 另一种查找方法,(find应该仅限字符串方法),没有查到的情况下返回 -1
# li = "qwvemrtyuviospjsdvmfghjkmlzxvcsvbnvm"
# print(li.upper()) # 小写变大写方法1
# lo = li.upper() # 小写变成大写方法2 在对对象进行改变的同事都需要赋值
# print(lo)
# li = "QWVEMRTYUVIOSPJSDVMFGHJKMLZXVCSVBNVM"
# print(li.lower()) # 大写变小写方法1
# lo = li.lower() # 大写变小写 方法2
# print(lo)
# li = "qwvemrtyuviospjsdvmfghjkmlzxvcsvbnvm"
# print(li.isdigit()) #判断全部是否是数字
#
# print(li.isalpha()) # 判断全部是否是字母
# print(li.title()) # 把单词的首字母变成大写
# print(li.endswith('bnvm')) # 判断结尾是否是一致,括号里必须添加元素
# print(li.startswith("qwve")) # 判断开头是否一致,括号里必须添加元素
# print(li.islower()) # 判断全部是否是小写
# print(li.isupper()) # 判断全部是否为大写
#
# li = "baby, love, you, kiss, me"
# print(li.title()) # 把每一个单词开头转换成大写
# li = "qwvemrtyuviospjsdvmfghjkmlzxvcsvbnvm"
# print(li.capitalize()) #把第一个字母转换成大写
# li = "baby, love, you, kiss, me"
# print(li.split(" ")) # 把字符串切割成列表
# a = "abc"
# b = "123"
# c = "456"
# d = a+b+c
# print(d) # 字符串拼接
# li = "qwvemrtyuviospj"
# li2 = li.replace("v","123") # 替换指定元素方法1
# print(li2)
# print(li.replace("v","666")) # 替换指定元素方法2
# 作业
# 有一个列表[1.2.3.4],请用把下标为2的值改成9,再用列表的方法将列表改成[1,2,9,4,5,7]
# li = [1,2,3,4]
# li[2] = 9 # 修改下标元素
# print(li) # 此处打印结果为[1, 2, 9, 4]
# li.append([5,7]) # append方法 此处打印结果为[1, 2, 9, 4, [5, 7]]
# print(li)
# li.append(5)
# print(li)
# li.append(7) # append方法 单个自动添加末尾两回也可以返回打印结果 [1, 2, 9, 4, 5, 7]
# print(li)
# li.extend("57") # extend方法 字符串的形式则依次按顺序分开插入元素末尾 打印结果为[1, 2, 9, 4, '5', '7']
# print(li)
# li.extend([5,7]) # extend方法 此处打印结果为[1, 2, 9, 4, 5, 7] 可添加序列类型列表,添加到末尾,分开插入
# print(li)
# li.insert(5,5)
# li.insert(6,7) # insert方法 第一个参数下标,第二个参数添加的内容, 分两回添加返回结果为[1, 2, 9, 4, 5, 7]
# print(li)