python列表笔记

列表定义
# 列的定义方式,列表用`[]`定义,用`,`分隔数据
list01 = [1, "hello", 3.14, 1, True]  # 定义多数据列表
list02 = []  # 定义空列表
列表取值和修改值
# 列表取值,通过列表名[索引号]取值,列表索引从0开始
list01 = [1, "hello", 3.14, 1, True] 
val01 = list01[1]                      # 根据索引获取列表中的值,值为hello
val02 = list01.index("hello")          # 根据值获取列表中的索引,索引为1,列表索引从0开始

# 修改列表中元素的数值,通过列表名[索引号] = 新值 来设置值
list01[2] = "娃哈哈"  # 修改列表中指定索引的值
列表添加元素
# append()方法在列表末尾添加一个元素
# insert()方法在列表中插入一个元素
# extend()方法将一个列表追加到另一个列表中
list01 = [1, "hello", 3.14, 1, True] 

# 增加列表元素
list01.append("ccc")           # 在列表末尾追加一个元素
list02.insert(0, "终止")       # 在索引为1处插入元素
list02.extend(list01)          # 将list01列表追加到list02列表中
列表删除元素
# pop()方法删除列表最后一个元素,或删除列表索引位置处元素
# del 列表名[索引] 根据索引删除列表中元素
# remove()方法,根据值删除列表中元素

list01 = [1, "hello", 3.14, 1, True] 

# 删除列表元素
list01.pop()                   # 删除列表中的最后一个元素
list01.pop(1)                  # 删除列表中指定索引位置的元素
del list01[1]                  # 删除列表中指定索引位置的元素
list01.remove("娃哈哈")         # 除列表中第一个出现该值的元素
list01.clear()                 # 清空列表
列表统计方法
# 列表.count(值)    统计某个值在列表中出现的次数
# len(列表名)       统计列表的长度,即列表中元素的个数
list01 = [1, "hello", 3.14, 1, True] 
# 统计列表数据
print(list01.count(1))         # 统计列表中1出现的次数
print(len(list01))             # 统计列表中元素的个数

# 列表统计计算
list03 = [2, 3, 1, 4, 6, 5, 8]
min_val = min(list03)               # 内置函数获取最小值
max_val = max(list03)               # 内置函数获取最大值
sum_val = sum(list03)               # 内置函数获取累计和
print(f'列表最大值为:{max_val}\n列表最小值为:{min_val}\n列表总和为:{sum_val}')
'''
列表最大值为:8
列表最小值为:1
列表总和为:29
'''
列表排序方法
list01 = [1, "hello", 3.14, 1, True] 

# 列表排序
list02 = [1, 2, 4, 5, 3, 9, 7]
list02.sort()                  # 将列表元素按元素数值大小升序排列
list02.sort(reverse=True)      # 将列表元素按元素数值大小降序排列
list02.reverse()               # 将列表元素根据索引顺序,逆序翻转

list04 = [
    {"id": 1,
    "name": "lili",
    "age": 16
     },
    {
    "id": 3,
    "name": "wawa",
    "age": 22
    },
    {
    "id": 2,
    "name": "sese",
    "age": 14
    }]
list04.sort(key=lambda d: d["id"], reverse=True)   # 根据字典中id的降序排序列表中字典的顺序
list04.sort(key=lambda d: d["id"])                 # 根据字典中id的降序排序列表中字典的顺序
print(list04)
列推导式
'''
列表推导式:
格式:列表变量 = [ 含有x变量的表达式 for 变量x in 可迭代的集合 if 含有x的条件语句]
意思是遍历x在可迭代集合中满足if条件的可迭代的数据,通过表达式生成新的集合
'''

list01 = []
for i in range(100):
    list01.append(i)

# 上面循环可以写为列表推导式
list02 = [i for i in range(100)]

# 创建一个可以三整除的100内列表
c3 = [i for i in range(100) if i % 3 == 0]

# 创建二维元祖10行3列,x循环套y循环
c4 = [(x, y) for x in range(10) for y in range(3)]

# 变量列表中满足>=20的数据,通过x*10表达式计算生成新的列表
aa = [ x * 10 for x in [10, 20 ,30 ,40] if x >= 20]
print(aa)    # [200, 300, 400]
列表切片
# 列表切片,通过[开始索引:结束索引:步长]来对列表元素进行筛选,就是列表切片
list01 = range(10)      # 等同于range(0, 10),range函数10也是取不到的
print(type(list01))     # <class 'range'>类型是range类
list02 = list(list01)   # 转换range对象为列表对象
# 通过[开始索引:结束索引:步长]来对列表元素进行筛选,就是列表切片,结束索引取不到
l01 = list02[1:3]       # 获取列表索引1到索引2处的值,结束索引取不到,[1, 2]
l02 = list02[:3]        # 从列表开始取到索引为2出的值,[0, 1, 2]
l03 = list02[0:]        # 从列表索引0开始取到列表结束的值,[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l04 = list02[::2]       # 从头取到结束按步长2间隔取列表中的值,[0, 2, 4, 6, 8]
l05 = list02[:-2]       # 从头开始取到倒数第3个值,[0, 1, 2, 3, 4, 5, 6, 7]
l06 = list02[-3:]       # 取后三个列表的值,[7, 8, 9]


# 复制列表用切片方式复制
list03 = list02         # 这样不是复制,而是两个列表名都指向一个列表
list03 = list02[:]      # 这样就是复制list02数据到list03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值