LOADING

加载过慢请开启缓存 浏览器默认开启

python-04

2024/2/28 python python

python-04

  • 列表

定义/表示:

  • 能装东西的东西

  • 用 [] 来表示,里面的东西用逗号隔开

特性:

1.也有索引和切片 //超过长度会报错 list index out of rangel

2.可以用for循环遍历

3.使用len拿到字符串的长度

list = ["1","2","3","4","5"]
# print(list[0])
# print(list[2:5:2])
for item in list:
    print(item)
print(len(list))

列表的增删改查

添加

三种方式:

  • append()往列表中追加

    list.append("555")
    print(list)
    
  • insert() 插入

    语法结构

    insert(index,oject)
    
    list.insert(0,"a")
    print(list)
    
  • extend()可以合并两个列表

    extend(anoher list)   
    
    list.extend(["b", "c","d"])
    print(list)
    

image-20240228195441344

删除

两种方式:

  • pop()给出被删除的索引,返回被删除的元素

  • remove() 直接在括号里面写要删除的元素

    ret = list.pop(3)
    print(list)
    # ret = list.pop(3)  //这里是对已经删掉的list进行的操作
    print(ret)
    # list.remove("555")
    # print(list)
    

修改

  • 利用索引

查询

  • 直接使用索引
print(list[2])

尝试

# 把所有的姓张的改成姓王的
list = ["张韶涵","张三","李麻子","张伟"]

# for item in name:    # 看不见索引位置,不使用
# range不加说明的时候从0开始

for i in range(len(list)):
    # range里面可以直接放列表的长度 ——>  拿到列表索引的for循环
    item = list[i]  # item依旧是列表中的每一项
    if item.startswith("张"):
        new_name = "王"+item[1:]
        print(new_name)
        # 把新名字放回列表(索引)
        list[i] = new_name

补充

# 排序
# list1 = [1,2,3,4,5,6,7,8,"你好"]
# 本身是有顺序的
list = [11111,555,3666,6666,55555]
list.sort()
print(list)
list.sort(reverse=True)
print(list)

# 列表的嵌套
list1 = [1,2,3,[7,8,9,[15,'abc',20]],21]
print(list1[3][3][0])
list1[3][3][1] = list1[3][3][1].upper()
print(list1)

# 列表的循环删除
# 直接删除删不干净 直接用for循环

# 准备一个临时列表,负责存储要删除的东西
# 去原列表中删除
list2 = ["222","333","233"]
temp = []
for item in list2:
    if item.startswith("2"):
        # append 追加
        temp.append(item)   # 把要删除的内容记录下来
for item in temp:
    list2.remove(item)    # 去原列表进行删除
print(list2)
# 最稳的循环删除方案:把要删除的放到新列表,循环新列表,删除旧列表

python_list