列表的操作 3
列表也像字符串一样也有索引和切片索引如果超过范围会报错可以用 for 循环进行遍历用 len 可以拿到列表的长度​ list[hello,world,!] print(len(list))#获取长度 for i in list: print(i) ​列表的增删改查增加 append()list[] list.append(周清)#周清 print(list)插入 insert()list[] list.append(周清)#周清 print(list) list.insert(0,张三) print(list)#[张三, 周清]合并 extend()list[] list.append(周清)#周清 print(list) list.insert(0,张三) print(list)#[张三, 周清] list.extend([李四,王五,赵六])#[张三, 周清, 李四, 王五, 赵六] print(list)删除 pop() remove()namelist.pop(2)#给出被删除的索引返回被删除的元素 print(list)#[张三, 周清, 王五, 赵六] print(name)#李四 list.remove(周清) print(list)#[张三, 王五, 赵六]修改list[2]周清#[张三, 王五, 周清] print(list)查询print(list[2])#周清练习把所有的姓张的人修改成姓王这种方法可以直接拿到列表的索引list [赵敏, 张鹏, 张无忌, 武则天, 吕布] for i in range(len(list)): itemlist[i] if item.startswith(张): new_name王item[1:] list[i]new_name print(list)如果是这样的话就不知道修改的索引是哪个找不到索引的位置for item in list: if item.startswith(张): new_name王item[1:]排序list[1,23,432,32,65] list.sort()#[1, 23, 32, 65, 432] list.sort(reverseTrue)#reverse是反转的意思[432, 65, 32, 23, 1] print(list)嵌套当我想print(list[2][3][1])).upper()是不可以的因为相当于print(None).upper()print本身就没有返回值list [abc, def, [呵呵哒, 妈妈呀, 苦苦脊瓦, [可乐, scrapy, 123]], aed, qpr] print(list[2][3][1])#scrapy list[2][3][1]list[2][3][1].upper() print(list)#[abc, def, [呵呵哒, 妈妈呀, 苦苦脊瓦, [可乐, SCRAPY, 123]], aed, qpr]循环删除list [赵敏, 张鹏, 张无忌, 武则天, 吕布] list1[] for item in list: if item.startswith(张): list1.append(item) for item in list1: list.remove(item) print(list)#[赵敏, 武则天, 吕布]错误的想法有bug不报错list [赵敏, 张鹏, 张无忌, 武则天, 吕布] list1[] for item in list: if item.startswith(张): list1.append(item) list.remove(item)#当我直接删除时后面的补位导致相邻的删除不了 print(list)#[赵敏, 张无忌, 武则天, 吕布]