• day4__列表的初识(列表的创建、增删改查、元组、range)


    一、列表的初识

    1、列表的创建

    1】创建一个列表有三种方式:

    第一种: (常用)

    li = [100,'pyton学习',True,[1,2,3]]
    

    第二种:(不常用)

    l1 = list()  # 空列表
    # l1 = list(iterable)  # 可迭代对象
    l1 = list('123')
    print(l1)  # ['1', '2', '3']
    

    第三种 :列表推导式(后面会学到)

    l1 = [i for i in range(1,5)]
    print(l1)  # [1, 2, 3, 4]
    
    2】列表的索引切片
    li = [100,'pyton学习',True,[1,2,3]]
    #索引
    print(li[0],type(li[0]))
    print(li[1],type(li[1]))
    print(li[-1])
    print(li[3])
    
    #切片
    li = [1, 3, 2, "a", 4, "b", 5,"c"]
    # 通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
    l1 = li[0:3]
    print(l1)
    # 通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
    l2 = li[3:6]
    print(l2)
    # 通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
    l4 = li[1:-2:2]
    print(l4)
    
    3】增

    append 追加,给列表的最后面追加一个元素

    li = [1,2,'a']
    li.append(666)
    print(li)
    
    li = ['张三','李四','白龙']
    while 1:
        name = input("请输入新员工的姓名:(Q或者q退出程序)")
        if name.lower() == 'q':
            break
        li.append(name)
        print(li)
        break
    内容输出:
    请输入新员工的姓名:(Q或者q退出程序)mrxinog
    ['张三', '李四', '白龙', 'mrxinog'] 
    

    insert 插入在列表的任意位置插入元素

    li = ['李四','张三','a']
    li.insert(1,'mrxiong')
    print(li)
    

    extend迭代着追加,在列表的最后面迭代着追加一组数据

    li = [1,2,'a']
    li.extend('mrxiong')
    print(li)
    
    li = [1,2,'a']
    li.extend(['oldboy'])
    print(li)
    
    4】删

    pop按照索引去删除

    li = ['女神','吴老师','mrxiong','张三']
    print(li.pop(-2))  #返回的是删除的元素
    print(li)
    输出结果:
    mrxiong
    ['女神', '吴老师', '张三']
    
    li = ['女神','吴老师','mrxiong','张三']
    print(li.pop())  #空格是默认删除最后一个
    print(li)
    输出结果:
    张三
    ['女神', '吴老师', 'mrxiong']
    

    remove 指定元素删除

    li = ['女神','吴老师','mrxiong','张三']
    li.remove('mrxiong')
    print(li)
    输出结果:
    ['女神', '吴老师', '张三']
    
    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li.remove('mrxiong')   #如出现有重名元组,默认删除从左到右第一个
    print(li)
    输出结果:
    ['女神', '吴老师', 'mrxiong', '张三']
    

    clear()

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li.clear()
    print(li)
    输出结果:
    []
    

    del

    ​ #按索引来删

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    del li[-1]
    print(li)
    输出结果:
    ['mrxiong', '女神', '吴老师', 'mrxiong']
    

    ​ #按照切片(步长)删除

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    del li[::2]
    print(li)
    输出结果:
    ['女神', 'mrxiong']
    
    5】改

    按照索引来修改

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li[0] = '哈哈'
    print(li)
    输出结果:
    ['哈哈', '女神', '吴老师', 'mrxiong', '张三']
    

    按照切片修改

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li[1:2] = '哈哈','叶叶'
    print(li)
    输出结果:
    ['mrxiong', '哈哈', '叶叶', 'one', '吴老师', 'mrxiong', '张三']
    
    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li[::2] = 'abc'
    print(li)
    输出结果:
    ['a', '女神', 'b', 'mrxiong', 'c']
    
    6】查

    索引查询

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    print(li[1])
    输出结果:
    女神
    

    切片(步长)查询

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    l1 = li[1:4]
    print(l1)
    输出结果:
    ['女神', '吴老师', 'mrxiong']
    
    li = ["mrxiong","女神","吴老师","mrxiong","张三"]
    l1 = li[::2]
    print(l1)
    

    循环查询

    li = ["mrxiong","女神","吴老师","mrxiong","张三"]
    for i in li:
        print(i)
    输出结果:
    mrxiong
    女神
    吴老师
    mrxiong
    张三
    
    7】列表相加与整数相乘
    l1 = [1,2,3]
    l2 = [4,5,6]
    print(l1+l2)
    输出结果:
    [1, 2, 3, 4, 5, 6]
    
    l1 = [1,2,3]
    l2 = [4,5,6]
    print(l1*3)
    输出结果:
    [1, 2, 3, 1, 2, 3, 1, 2, 3]
    

    练习题:

    列表中追加元素"seven",并输出添加后的列表

     li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
     li.append("serven")
     print(li)
    

    请在列表的第1个位置插入元素"Tony",并输出添加后的列表

     li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
     li.insert(1,"tom")
     print(li)
    

    请修改列表第2个位置的元素为"Kelly",并输出修改后的列表

     li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
     li[2] = "Kelly"
     print(li)
    

    请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    l2=[1,"a",3,4,"heart"]
    print(li+l2)
    

    请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    s = "qwert"
    li.extend(s)
    print(li)
    

    请删除列表中的元素"ritian",并输出添加后的列表

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    li.remove("ritian")
    print(li)
    

    请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    print(li.pop(2))
    print(li)
    

    请删除列表中的第2至4个元素,并输出删除元素后的列表

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    del li[2:4]
    print(li)
    

    2、 列表的嵌套

    将li中的'taobao'变成大写并放回原处

    li = [1,2,'taobao',[1,'mrxiong',3]]
    li[2] = li[2].upper()
    print(li)
    

    给小列表[1,'mrxiong',3]追加一个元素,'python'

    li = [1,2,'taobao',[1,'mrxiong',3]]
    li[3].append('python')
    print(li)
    

    将列表中的'mrxiong'通过字符串拼接的方式在列表中变成'mrxiongsb'

    li = [1,2,'taobao',[1,'mrxiong',3]]
    li[3][1] = li[3][1]+'sb'
    print(li)
    

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    将列表lis中的"tt"变成大写(用两种方式)。

    ​ 方法一:

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    lis[3][2][1][0]=lis[3][2][1][0].upper()
    print(lis)
    

    ​ 方法二:

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    lis[3][2][1][0]= "TT"
    print(lis)
    

    将列表中的数字3变成字符串"100"。

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    lis[1], lis[3][2][1][1] = 100, 100
    print(lis)
    

    将列表中的字符串"1"变成数字101。

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    lis[3][2][1][2] = 101
    print(lis)
    

    3、元组

    只读列表。存大量的数据,可以索引、切片(步长)操作

    tu = (100,'mrxiong',True,[1,2,3])
    print(tu[0])
    print(tu[3])
    print(tu[:3])
    
    for i in tu:
        print(i)
    

    如上例,虽然元组是不可以修改,查元组里的小列表[1,2,3]里的内容是可以增删改的

    tu = (100,'mrxiong',True,[1,2,3])
    del tu[3][0]
    print(tu)
    输出结果:
    (100, 'mrxiong', True, [2, 3])
    

    注:重要数据,用户名,密码,个人信息,不想让别人改动的一些数据,存在元组中

    元组的拆包,分别赋值

    tu = (1,2,3,4)
    a, b, c, d= tu
    print(a,b,c,d)
    输出结果:1 2 3 4
    

    注:元组的拆包分别赋值,必须要和元组一一对应

    4、range

    类型列表,自定制数字范围的数字列表

    r = range(10)   # 类似于可定议范围数字列表[0,1,2,3,4,5,6,7,8,9,10]
    print(r)
    for i in r:
        print(i)
    
    for i in range(1, 20):
        print(i)
    

    以步长打印1--20的偶数

    for i in range(2, 20, 2):
        print(i)
    

    打印20----1

    for i in range(20, 0, -1):
        print(i)
    

    例:

    #利用for循环,利用range将ll列表的所有索引依次打印出来
    ll = [1,2,3,4,5,'python',5]
    for i in range(len(ll)):
        print(i)
    输出结果:
            0
    	1
    	2
    	3
    	4
    	5
    	6
    
  • 相关阅读:
    Opencv 图像矩
    Opencv Convex Hull (凸包)
    Opencv 发现轮廓 findContours
    Opencv Match Template(轮廓匹配)
    python操作mysql数据库的常用方法使用详解
    mongodb数据库集群及sharding分片配置
    mongodb数据库安装及常见操作
    windows下搭建eclipse关于python的开发环境及初始化参数配置
    python环境下使用tab自动补全命令
    ubuntu系统初始化网络及mysql配置
  • 原文地址:https://www.cnblogs.com/mr-xiong/p/13150109.html
Copyright © 2020-2023  润新知