美文网首页
python05-列表与元组

python05-列表与元组

作者: 东邪_黄药师 | 来源:发表于2022-11-20 21:38 被阅读0次

    列表的常用操作

    列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查。

    下标

    name_list = ['Tom', 'Lily', 'Rose']
    print(name_list[0])  # Tom
    print(name_list[1])  # Lily
    print(name_list[2])  # Rose
    

    函数

    • index():返回指定数据所在位置的下标 。
    1. 语法
    列表序列.index(数据, 开始位置下标, 结束位置下标)
    
    1. 快速体验
    name_list = ['Tom', 'Lily', 'Rose']
    print(name_list.index('Lily', 0, 2))  # 1
    

    注意:如果查找的数据不存在则报错。

    • count():统计指定数据在当前列表中出现的次数。
    name_list = ['Tom', 'Lily', 'Rose']
    
    print(name_list.count('Lily'))  # 1
    
    • len():访问列表长度,即列表中数据的个数。
    name_list = ['Tom', 'Lily', 'Rose']
    print(len(name_list))  # 3
    

    判断是否存在

    • in:判断指定数据在某个列表序列,如果在返回True,否则返回False
    name_list = ['Tom', 'Lily', 'Rose']
    
    # 结果:True
    print('Lily' in name_list)
    
    # 结果:False
    print('Lilys' in name_list)
    
    • not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False
    name_list = ['Tom', 'Lily', 'Rose']
    
    # 结果:False
    print('Lily' not in name_list)
    
    # 结果:True
    print('Lilys' not in name_list)
    
    • 体验案例

    需求:查找用户输入的名字是否已经存在。

    name_list = ['Tom', 'Lily', 'Rose']
    
    name = input('请输入您要搜索的名字:')
    
    if name in name_list:
        print(f'您输入的名字是{name}, 名字已经存在')
    else:
        print(f'您输入的名字是{name}, 名字不存在')
    
    image.png
    image.png

    增加

    作用:增加指定数据到列表中。

    append():

    列表结尾追加数据。

    1. 语法
    列表序列.append(数据)
    
    1. 体验
    name_list = ['Tom', 'Lily', 'Rose']
    
    name_list.append('xiaoming')
    
    # 结果:['Tom', 'Lily', 'Rose', 'xiaoming']
    print(name_list)
    
    image.png

    列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据。

    1. 注意点

    如果append()追加的数据是一个序列,则追加整个序列到列表

    name_list = ['Tom', 'Lily', 'Rose']
    
    name_list.append(['xiaoming', 'xiaohong'])
    
    # 结果:['Tom', 'Lily', 'Rose', ['xiaoming', 'xiaohong']]
    print(name_list)
    

    extend():

    列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表。

    1. 语法
    列表序列.extend(数据)
    
    1. 快速体验

      2.1 单个数据

    name_list = ['Tom', 'Lily', 'Rose']
    name_list.extend('xiaoming')
    # 结果:['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
    print(name_list)
    
    2.2 序列数据
    
    name_list = ['Tom', 'Lily', 'Rose']
    
    name_list.extend(['xiaoming', 'xiaohong'])
    
    # 结果:['Tom', 'Lily', 'Rose', 'xiaoming', 'xiaohong']
    print(name_list)
    

    insert():

    指定位置新增数据。

    1. 语法
    列表序列.insert(位置下标, 数据)
    
    1. 快速体验
    name_list = ['Tom', 'Lily', 'Rose']
    name_list.insert(1, 'xiaoming')
    # 结果:['Tom', 'xiaoming', 'Lily', 'Rose']
    print(name_list)
    

    删除

    del

    1. 语法
    del 目标
    
    1. 快速体验

      2.1 删除列表

    name_list = ['Tom', 'Lily', 'Rose']
    # 结果:报错提示:name 'name_list' is not defined
    del name_list
    print(name_list)
    
    2.2 删除指定数据
    
    name_list = ['Tom', 'Lily', 'Rose']
    
    del name_list[0]
    
    # 结果:['Lily', 'Rose']
    print(name_list)
    

    pop():

    删除指定下标的数据(默认为最后一个),并返回该数据。

    1. 语法
    列表序列.pop(下标)
    
    1. 快速体验
    name_list = ['Tom', 'Lily', 'Rose']
    del_name = name_list.pop(1)
    # 结果:Lily
    print(del_name)
    # 结果:['Tom', 'Rose']
    print(name_list)
    

    remove():

    移除列表中某个数据的第一个匹配项。

    1. 语法
    列表序列.remove(数据)
    
    1. 快速体验
    name_list = ['Tom', 'Lily', 'Rose']
    
    name_list.remove('Rose')
    
    # 结果:['Tom', 'Lily']
    print(name_list)
    

    clear():

    清空列表

    name_list = ['Tom', 'Lily', 'Rose']
    name_list.clear()
    print(name_list) # 结果: []
    

    修改

    • 修改指定下标数据
    name_list = ['Tom', 'Lily', 'Rose']
    name_list[0] = 'aaa'
    # 结果:['aaa', 'Lily', 'Rose']
    print(name_list)
    

    逆置:reverse()

    num_list = [1, 5, 2, 3, 6, 8]
    num_list.reverse()
    # 结果:[8, 6, 3, 2, 5, 1]
    print(num_list)
    
    排序:sort()
    1. 语法
    列表序列.sort( key=None, reverse=False)
    

    注意:reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)

    1. 快速体验
    num_list = [1, 5, 2, 3, 6, 8]
    num_list.sort()
    # 结果:[1, 2, 3, 5, 6, 8]
    print(num_list)
    

    复制

    函数:copy()

    name_list = ['Tom', 'Lily', 'Rose']
    name_li2 = name_list.copy()
    # 结果:['Tom', 'Lily', 'Rose']
    print(name_li2)
    

    列表的循环遍历

    • while
    name_list = ['Tom', 'Lily', 'Rose']
    
    i = 0
    while i < len(name_list):
        print(name_list[i])
        i += 1
    
    image.png

    for

    name_list = ['Tom', 'Lily', 'Rose']
    for i in name_list:
        print(i)
    
    image.png

    列表嵌套

    所谓列表嵌套指的就是一个列表里面包含了其他的子列表。

    应用场景:要存储班级一、二、三三个班级学生姓名,且每个班级的学生姓名在一个列表。

    name_list = [['小明', '小红', '小绿'], ['Tom', 'Lily', 'Rose'], ['张三', '李四', '王五']]
    

    思考: 如何查找到数据"李四"?

    # 第一步:按下标查找到李四所在的列表
    print(name_list[2])
    
    # 第二步:从李四所在的列表里面,再按下标找到数据李四
    print(name_list[2][1])
    

    元组

    • 元组的应用场景

    一个元组可以存储多个数据,元组内的数据是不能修改的.

    定义元组

    元组特点:定义元组使用==小括号==,且==逗号==隔开各个数据,数据可以是不同的数据类型。

    # 多个数据元组
    t1 = (10, 20, 30)
    # 单个数据元组
    t2 = (10,)
    

    注意:如果定义的元组只有一个数据,那么这个数据后面也好添加逗号,否则数据类型为唯一的这个数据的数据类型

    元组的常见操作

    1.按下标查找数据

    uple1 = ('aa', 'bb', 'cc', 'bb')
    print(tuple1[0])  # aa
    

    2.index()

    查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index方法相同。

    tuple1 = ('aa', 'bb', 'cc', 'bb')
    print(tuple1.index('aa'))  # 0
    

    3.count()

    统计某个数据在当前元组出现的次数。

    tuple1 = ('aa', 'bb', 'cc', 'bb')
    print(tuple1.count('bb'))  # 2
    

    4.len()

    统计元组中数据的个数。

    tuple1 = ('aa', 'bb', 'cc', 'bb')
    print(len(tuple1))  # 4
    

    注意:元组内的直接数据如果修改则立即报错

    tuple1 = ('aa', 'bb', 'cc', 'bb')
    tuple1[0] = 'aaa'
    
    image.png
    • 如果元组里面有列表,修改列表里面的数据则是支持的*
    tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)
    print(tuple2[2])  # 访问到列表
    # 结果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)
    tuple2[2][0] = 'aaaaa'
    print(tuple2)
    
    image.png

    相关文章

      网友评论

          本文标题:python05-列表与元组

          本文链接:https://www.haomeiwen.com/subject/zgcixdtx.html