• 列表常用操作


    '''列表的方法
    l.index()       l.count()       l.copy()       
    l.insert()      l.append()      l.extend()
    l.pop()         l.remove()      
    l.clear()       l.sort()        l.reverse()           
    '''
    
    
    l = [1, 2, 'h', [3, 4, 'H']]
    print(len(l))
    l1 = l.index('h', 2, len(l))  # index(列表里的内容,开始位置,结束为止),找到返回下标,没找到报错
    print(1, l1)
    l.remove(2)                   # remove(列表里的内容),有则删除,没有则报错
    print(l)
    l.clear()                 # 清空列表
    print(l)
    l = [1, 2, 'h', [3, 4, 'H']]
    print(l)
    n = l.pop(1)      # pop(列表中的下标)删除指定下标位置元素,并给个返回值,如果不写则默认最后一位
    print(n)
    print(l)
    l.append('添加的元素')  # append(任意类型)添加到列表最后,这个任意类型作为整体
    print(l)
    l.extend([1])       # extend(可迭代的类型)添加到列表最后(合并),可迭代的得把每个字符拆开
    print(l)
    l.extend({1: 2, 3: 4})  # extend添加字典时,添加的是字典的key
    print(l)
    l.insert(2, '我插入第二个位置')   # insert(要插入的位置,要插入的元素(元素类型同append添加时)
    print(l)
    l.reverse()       # reverse()翻转列表
    print(l)
    
    l2 = l.copy()    # l2为深拷贝(复制粘贴同作用),l3为浅拷贝,修改l则会影响l3列表
    l3 = l
    print(2, l2)
    print(3, l3)
    ## del l
    ## print(l)      # 删除不会影响浅拷贝的l3
    l.clear()        # 对列表l做清空处理,则l和l3会同时受到影响,但是作为深拷贝的l2不会受到影响
    print(4, l2)
    print(5, l)
    print(5, l3)
    
    l4 = [2, 3, 7, 1, 9]
    l4.sort(reverse=False)       # sort(reverse = Ture/False)升序排列原列表,参数默认为False
    print(l4)                    # 改变参数为True则会使列表从大到小排列
    l5 = [2, 3, 7, 1, 9]
    l6 = sorted(l5, reverse=False)   # 同上sort()方法,不过这是内置的方法,并不会改变原列表
    print(6, l5)                     # sorted(列表,key,reverse = Ture/False)方法会返回一个新的列表
    print(7, l6)
    
    n = l2.count(1)               # 由于l在前面已经被清空了,则对深拷贝的l2进行操作
    print(n)                      # count(列表里的类型),如果有,则返回这个值出现的次数,如果没有则返回0
    
    for i in l2:
        print(i, end=' ')     # 遍历列表中的每个元素
    
    print()
    print(4, l2)
    e1 = enumerate(l2)    # enumerate使列表变成有序列对的元组
    print(5, e1)
    l7 = list(e1)
    print(7, list(e1))
    print(8, l7)
    
    # for i, y in l7:  # 拆分枚举元组中序号(下标)和字符串中对应的字符
    #     print(i, end=' ')
    #     print(y)
    for x, y in enumerate(l2):
        print(x)
        print(y)
    # list4 = [1, 2, 3, 'abc', 'bcd']
    ## str4 = '_'.join(list4) # 混合类型有数值  不能实现  -- 方案:列表推导式
    ## print(str4)
    # list5 = [i for i in list4]
    # print(list5)
    
    
    # enumerate()的深入理解
    l1 = [3, 1, 1, '添加的元素', [3, 4, 'H'], '我插入第二个位置', 'h', 1]
    print(l1)
    e1 = enumerate(l1)
    # l2 = list(e1)    # !!!!!
    print(e1)
    print(enumerate(l1))
    # print(l2)
    print(list(e1))      # 执行l2 = list(e1)这句后,这里就会打印个空的列表,不执行这句话的时候正常打印
    print(list(enumerate(l1)))
    # 根据我的理解,e1是可变的,开始的l2 = list(e1)改变了e1本身的值,所以直接打印是ok的,再次在后面list()会在变上加变
    # 如果开始不执行l2 = list(e1),则e1没有被操作过,则后面list(e1)直接打印输出不会出问题
    

      

                                                                       -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

  • 相关阅读:
    C# 学习历程——接口
    C# 学习历程——类的封装,继承与多态
    C# 学习历程——C#基础
    C# 学习历程——Hello World
    python(14)---发邮件、写日志、操作redis数据库
    python(13)——内置函数
    python(12)---导入模块
    HTML操作之DOM操作
    HTML基础之CSS
    HTML基础之HTML标签
  • 原文地址:https://www.cnblogs.com/wf-skylark/p/9009745.html
Copyright © 2020-2023  润新知