day 4 - 1 列表
1.列表的增删改查
1) append insert extend
li = ["ysg",[1,2,3,4,5],"peipei","梦幻","利金斯"]
#append 在末尾增加 li.append('阴天') li.append("666") li.append("[12,13,14]") print(li)
小示例:循环向列表中添加数据,输入 "Q|q" 结束 li = [] while 1: username = input(">>>") if username.strip().upper() == 'Q': break else: li.append(username) print(li) # insert 插入 li=["abc","efg"] li.insert(1,"d") print(li) #extend 迭代插人到最后 # 'int' object is not iterable li=["abc","efg"] li.extend("亦双弓") print(li) li.extend([1,2,3]) print(li) li.extend(123) print(li)
2)删除 pop remove clear del
li = ["ysg",[1,2,3,4,5],"peipei","梦幻","利金斯"] name = li.pop(1) print(name,li) #有返回值 print(li) name = li.pop() #默认删除最后一个值 print(name,li)
li.remove([1,2,3,4,5]) #按元素删除,没有返回值 print(li)
li.clear() #清空列表 print(li)
del li # 删除列表 print(li) del li[3:] #del 结合切片删除 print(li)
3)改
li = ["ysg",[1,2,3,4,5],"peipei","梦幻","利金斯"] li[1] = "and" li[1] = [1,2,3] print(li) #切片 当添加的值小于切片的范围时,只添加已有的值 #即:添加的原理是 先删除后添加 li[0:3] = "ysg" print (li) li[0:3] = "hw" print (li) #如果添加的值大于切片的范围时,大于的值在切片范围后继续添加 li[0:3] = [1,2,3,"abc","efg"] print(li)
4)查 for循环 切片
li = ["ysg",[1,2,3],"peipei","黎幻镇","利金斯"] for i in li: print(i) print(li[0:3])
2.公共方法
li = ["ysg",[1,2,3],"ysg","peipei","黎幻镇","利金斯"] l = len(li) #数组长度 print(l) print(li.count('ysg')) #统计出现次数 print (li.index("peipei")) #索引出现位置,默认第一次出现的位置
3.排序
li = [1,5,3,8,7,9,2,3] li.sort() #sort 排序是最快的 因为使用 C 语言的写的 print(li) li.sort(reverse=True) #倒序 print(li) li.reverse() #反转 print(li)
4.列表的嵌套
#1)找到 梦幻 中的幻字 print(li[4][1]) # 2)把 利金斯 中的 金斯 改为 益 li[5]="利益" print(li) li[5]=li[5].replace("金斯","益") print(li) # 3)把 peipei 首字母大写 li[3]=li[3].capitalize() print(li[3],li)
5.元组
#只读列表,可循环查询 可切片 #儿子不能改 孙子可能可以改 yu=(12,3,'ysg',[1,23,'ysg']) print(yu[2]) print(yu[3]) for i in yu: print(i) #修改 元祖中的数组 yu[3][1]=2 print(yu) #修改 元祖中的数组 yu[3][2]=yu[3][2].upper() print(yu) #在元祖中的数组添加值 yu[3].append("end") print(yu)
7.join 列表转换为字符串
#字符串转换为列表 split #注意:使用 join 时,列表中不能再存在列表 li = ["ysg","ysg","peipei","黎幻镇","利金斯"] print(li) j = "_".join(li) print(j)
8. range 生成数字列表,顾头不顾尾
for i in range(0,10): print(i) for i in range(3,10): print(i) for i in range(10): print(i) for i in range(0,10,2): print(i) for i in range(10,0,-1): print(i) for i in range(10,0,-2): print(i) for i in range(0,10,-1): #什么都不输出 print(i) for i in range(10,-10,-2): print(i) for i in range(10,-2): #什么都不输出 print(i) for i in range(-2,10): # -2 为开头 print(i)