4、列表的一些知识

import copy

# 1.添加元素
# 1.1  append():在列表元素的末尾追加元素
list11 = [10, 20, 30]
print(list11)
# 追加单个元素
list11.append(40)
print(list11)
# 追加多个元素
# list11.append(50,60)   #错误演示
# 注意:使用append功能,追加多个元素,不能直接追加,通过列表的形式追加
list11.append([50, 60])
print(list11)

# 1.2   extend():扩展,在列表的末尾添加元素
list12 = [10, 20, 30]
print(list12)
# 追加单个元素
# list12.extend(40)    #错误演示:extend不能直接添加单个元素
# #iterable:可迭代的   iterator
# 追加多个元素
# 注意:使用extend添加多个元素,仍然采用列表的方式添加,但是,实际上添加的只是元素【打碎添加】
list12.extend([50, 60])
print(list12)

print("~~~~~~~~")

# 1.3  insert() ;插入,在指定索引处插入元素
# 格式:insert(索引,插入的数据)
list13 = [10, 20, 30]
print(list13)
list13.insert(2, 40)
print(list13)
# 注意:插入一一个列表,将整个列表插入到原列表中
list13.insert(1, [50, 60])
print(list13)

# 2.删除元素
# 2.1   pop(索引) ;弹出,移除列表中指定索引处的元素
list21 = [10, 20, 30, 40, 50, 60]
print(list21)
# pop默认移除的是最后一个元素,得到的结果为被移除的元素
result1 = list21.pop()
print(list21)
print(result1)
# 移除指定位置的元素
list21.pop(2)
print(list21)

# 2.2  remove(元素) :移除,特点:移除的是列表中的元素【在列表中从0开始能够匹配到的第一个元素】
list22 = [10, 20, 30, 40, 50, 60]
print(list22)
list22.remove(10)  # 等价于list22.pop(0)
print(list22)

# 需求:移除列表中所有的数字10
list23 = [10, 20, 30, 40, 50, 60, 10, 10, 10, 10, 10, 10]
"""
list23.remove(10)
print(list23)
list23.remove(10)
print(list23)
list23.remove(10)
print(list23)
"""
num = 0
element = 10
cou = list23.count(element)
while num < cou:
    list23.remove(element)
    print(list23)
    num += 1
print(list23)

# 2.3  clear():清除,清除列表中的所有元素,原列表变为空列表
list24 = [10, 20, 30, 40, 50, 60, 10, 10, 10, 10, 10, 10]
list24.clear()
print(list24)

# 3.获取
# 语法:功能名(列表名)
# 3.1   len()    length,获取列表的长度【获取列表中元素的个数】
list31 = [10, 20, 30, 40, 50, 60, 10, 10, 10, 10, 10, 10]
length = len(list31)

# 3.2   max();获取列表中元素的最大值  min()   最小值
print(max(list31))
print(min(list31))

# 3.3 index() :索引,从列表中匹配到的第一个元素对应的索引值
inx1 = list31.index(10)
print(inx1)

# 3.4  count();个数,查找指定元素在列表中出现的次数
c = list31.count(10)
print(c)

# 4.其他
# 4.1 reverse()    反转,将列表中的元素倒序输出
list41 = [10, 20, 30, 40, 50, 60, 10, 10, 10, 10, 10, 10]
list41.reverse()
print(list41)

# 4.2 sort()   排序,默认为升序排序,注意:在列表的内部操作
# 升序
list41.sort()
print(list41)
# 降序
list41.sort(reverse=True)
print(list41)

# sorted()  排序,默认为升序排序,注意:生成一个新的列表
list42 = [10, 20, 30, 40, 50, 60, 10, 10, 10, 10, 10, 10]
# 升序
newList1 = sorted(list42)
print(list42)
print(newList1)
# 降序
newList2 = sorted(list42, reverse=True)
print(newList2)

# 按照长度排序
list43 = ["fhjdhf", "g", "gfg"]
newList3 = sorted(list43, key=len)
print(newList3)

# 4.3 拷贝【面试题】
# 浅拷贝
# 深拷贝
# a.从内存的角度
# 浅拷贝:引用【栈空间】
list44 = [23, 45, 98]
list45 = list44
list45[1] = 100
print(list44)
print(list45)
print(id(list44) == id(list45))

# 深拷贝:内存【实体,堆空间】
list51 = [23, 45, 98]
list52 = list51.copy()
list52[1] = 100
print(list51)
print(list52)
print(id(list51) == id(list52))

# b.从内容的角度【多层拷贝】
# 导入模块import copy
# copy():浅拷贝
a = [1, 2, 3]
b = [4, 5, 6]
c = [a, b]
print(c)  # [[1, 2, 3], [4, 5, 6]]
d = copy.copy(c)
print(d)
print(id(c), id(d))

# deepCopy():深拷贝
e = copy.deepcopy(c)
print(e)
print(id(e))

# 给a列表中追加一个元素4
a.append(4)
print(c)
print(d)
print(e)

"""
[[1, 2, 3, 4], [4, 5, 6]]
[[1, 2, 3, 4], [4, 5, 6]]
[[1, 2, 3], [4, 5, 6]]
"""

# 5.将元组转换为列表
# list()
list5 = list((1, 2, 3))
print(list5)

上一篇:111python


下一篇:【CSS】让图片在高宽固定的div里水平垂直都居中的三种办法