☰
列表的操作 3
2026/9/29 13:20:28 网站建设 项目流程

列表

  • 也像字符串一样也有索引和切片
  • 索引如果超过范围会报错
  • 可以用 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()
name=list.pop(2)#给出被删除的索引,返回被删除的元素 print(list)#['张三', '周清', '王五', '赵六'] print(name)#李四 list.remove("周清") print(list)#['张三', '王五', '赵六']
  • 修改
list[2]="周清"#['张三', '王五', '周清'] print(list)
  • 查询
print(list[2])#周清

练习:把所有的姓张的人修改成姓王

这种方法可以直接拿到列表的索引

list= ["赵敏", "张鹏", "张无忌", "武则天", "吕布"] for i in range(len(list)): item=list[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(reverse=True)#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)#['赵敏', '张无忌', '武则天', '吕布']

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询