python-列表

1.列表

1.1 定义列表

"""
列表介绍:
    格式:
        格式1:  列表名 = [值1, 值2, 值3...]
        格式2:  列表名 = list()
    细节:
        1. 列表可以同时存储多个元素, 可以是不同类型的, 也可以是同类型的元素
        2. 为了方便统一操作, 建议: 列表存储的多个元素 是 同类型
        3. 列表的元素也是有索引的, 且索引也是从 0(正向), -1(逆向) 开始的
        4. 列表支持 "切片" 操作, 规则:  列表名[起始索引:结束索引:步长]
"""

# 定义列表
list1 = [1, 2.3, True, 'abc']
list2 = list()
list3 = []

# 打印列表的 某个元素 即: 测试列表的索引
print(list1[1])
print(list1[-3])

# 切片
print(list1[1:])

控制台输出

2.3
2.3
[2.3, True, 'abc']

1.2 遍历列表

"""
遍历介绍:
    概述:
        逐个的获取容器类型中的每个元素的过程
    遍历思路:
        思路1: for循环, 直接从容器类型中获取每个元素
        思路2: 采用 索引 的方式实现
"""

# 1. 定义列表
list1 = [11, 22, 33, 44, 55]

# 2. 遍历列表.
# 思路1: 采用 for循环, 直接获取列表的每个元素
for value in list1:
    print(value, end=' ')
print()
# 思路2: 采用 索引 的方式实现, for循环写法
for i in range(len(list1)):
    print(list1[i], end=' ')

控制台输出

11 22 33 44 55 
11 22 33 44 55 

1.3 添加元素

"""
列表 增(添加元素) 相关操作如下:
    列表名.append(单个值 或者 列表)        在列表末尾添加元素, 如果(添加的内容)是列表, 则是把列表当做1个元素, 来添加的
    列表名.extend(列表)                  在列表末尾添加元素, 如果(添加的内容)是列表, 则是把列表中逐个元素添加过来
    列表名.insert(索引值, 要插入的元素)    在指定的位置插入元素, 如果索引不存在, 就默认往 "最后" 添加
"""

# 1. 定义列表.
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
print('列表添加操作-append')
# 2. 演示列表 增 相关的函数.
# 列表名.append(单个值 或者 列表)       在列表末尾添加元素, 如果(添加的内容)是列表, 则是把列表当做1个元素, 来添加的
list1.append('张三')
list1.append(list2)
print(f'list1: {list1}')
print('列表添加操作-extend')
# 列表名.extend(列表)       在列表末尾添加元素, 如果(添加的内容)是列表, 则是把列表中逐个元素添加过来
# list1.extend(100)       # 报错
list1.extend(list2)       # extend('abc')
print(f'list1: {list1}')
print('列表添加操作-insert')
# 列表名.insert(索引值, 要插入的元素)       在指定的位置插入元素, 如果索引不存在, 就默认往 "最后" 添加
list1.insert(2, 10)      # 2在这里是: 正向索引
list1.insert(-2, 10)            # -2在这里是: 逆向索引

list1.insert(20, 66)     # 列表中不存在索引=20的值 直接往列表队尾添加
list1.insert(-20, 66)           # 列表中不存在索引=-20的值 往列表头添加
print(f'list1: {list1}')

控制台输出

列表添加操作-append
list1: [1, 2, 3, '张三', ['a', 'b', 'c']]
列表添加操作-extend
list1: [1, 2, 3, '张三', ['a', 'b', 'c'], 'a', 'b', 'c']
列表添加操作-insert
list1: [66, 1, 2, 10, 3, '张三', ['a', 'b', 'c'], 'a', 10, 'b', 'c', 66]

1.4 查找元素

"""
列表 查询 相关函数:
    列表名.index(要查找的元素, 起始索引, 结束索引)       类似于字符串的 index()
    列表名.count(元素值)                             统计元素在列表中出现的总次数
    元素值 in 列表名                                 判断元素在不在列表中, 在: True, 不在: False
    元素值 not in 列表名                             判断元素在不在列表中, 在: False, 不在: True
"""

# 定义列表
list1 = ['a', 'b', 'c', 'a', 'c']

# 列表名.index(要查找的元素, 起始索引, 结束索引)       类似于字符串的 index()
print(list1.index('a'))  # 0,  不指定查找范围, 就从列表的开头开始查找, 直至列表末尾
print(list1.index('a', 1))  # 3,  只指定开头, 不指定结尾, 就从列表的指定位置 找到 列表末尾
# print(list1.index('a', 1, 3))  # 报错, 指定了开头和结尾, 就在指定区间查找, 包左不包右. 找不到就: 报错

# 列表名.count(元素值)            统计元素在列表中出现的总次数
print(list1.count('a'))  # 2

# 元素值 in 列表名          判断元素在不在列表中, 在: True, 不在: False
print('a' in list1)  # True

# 元素值 not in 列表名      判断元素在不在列表中, 在: False, 不在: True
print('a' not in list1)  # False

控制台输出

0
3
2
True
False

1.5 修改元素

"""
列表 修改 相关的函数如下:
    列表名[索引] = 值             根据索引, 修改其对应的元素
    列表名.reverse()             反转列表元素
    列表名.sort(reverse=True)    对列表元素值进行排序, reverse=False 升序, reverse=True 降序
"""

# 定义列表.
list1 = [10, 20, 30, 10, 30]

# 修改相关的操作
list1[2] = 300        # 修改索引值为2的元素为: 300
# list1[20] = 666     # 报错, 索引越界.
print(f'list1: {list1}')

# 反转列表元素
list1.reverse()
print(f'list1: {list1}')

# 对列表元素内容进行排序
list1.sort()                # 默认: 升序
# list1.sort(reverse=False)   # 效果同上, 升序
print(f'list1: {list1}')

list1.sort(reverse=True)      # 降序
print(f'list1: {list1}')

控制台输出

list1: [10, 20, 300, 10, 30]
list1: [30, 10, 300, 20, 10]
list1: [10, 10, 20, 30, 300]
list1: [300, 30, 20, 10, 10]

1.6 删除元素

"""
列表 删除元素 相关方式如下:
    del 列表名             删除列表, 从内存中把列表干掉
    del 列表名[索引]        根据索引, 删除元素
    列表名.clear()         清空列表元素, 相当于: 删除列表所有数据, 得到1个空列表 []
    列表名.remove(元素值)   根据元素值, 删除: 元素
    列表名.pop(索引值)      根据索引, 删除: 元素
"""

# 定义列表
list1 = [10, 20, 30, 10, 30]

# 列表删除元素相关函数
# del 列表名             删除列表, 从内存中把列表干掉, 即: 相当于没有定义过这个列表
# del list1

# del 列表名[索引]        根据索引, 删除元素
# del list1[1]

# 列表名.clear()         清空列表元素, 相当于: 删除列表所有数据, 得到1个空列表 []
# list1.clear()

# 列表名.remove(元素值)   根据元素值, 删除: 元素
list1.remove(10)        # 只删除第1个匹配到的值
# list1.remove(100)       # 要删除的元素不存在, 报错
print(f'list1: {list1}')

# 列表名.pop(索引值)      根据索引, 删除: 元素 返回被删除的值
item = list1.pop(1)
# list1.pop(100)            # 索引不存在, 就报错

# 打印列表
print(f'被删除的值: {item}  list1: {list1}')

控制台输出

list1: [20, 30, 10, 30]
被删除的值: 30  list1: [20, 10, 30]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值