• python之列表及其方法---整理集


    列表类,类名是list


    通过list类创建对象,使用中括号

    列表特性:

        使用中括号括起来
        中间用逗号分隔每个元素
        元素可以是数字、字符串、布尔值、列表
        列表中可以嵌套列表
        列表中每个元素的下标从0开始
        可以使用切片取得每个元素,取得的结果也是列表;
        可以使用while或者for循环取得元素;
        列表中的元素可以被修改;
        列表在内存中是以链表的形式存储;
        列表在内存中存储时,除了内容之外还保存有下个元素的位置信息

    例如:创建list类的对象,这个对象的变量名是li

    li=[1,12,9,"age","alex"]
    print(li[3])
    返回结果:
    age

    li=[1,12,9,"age","alex"]
    print(li[1:-1])
    返回结果:
    [1, 12, 9, 'age']

    li=[1,12,9,"age","alex"]
    for item in li:
    print(item)
    返回结果:
    1
    12
    9
    age
    alex

    #列表的修改:
    li=[1,12,9,"age","alex"]
    li[1]=120
    print(li[1])
    返回结果:
    120
    
    #切片方法批量修改
    li=[1,12,9,"age","alex"]
    li[1:3]=[120,90]
    
    列表的删除:
    方法1,索引方式
    li=[1,12,9,"age","alex"]
    del li[1]
    print(li)
    
    方法2,切片方式
    li=[1,12,9,"age","alex"]
    del li[1:3]
    print(li)
    
    列表的in操作,常用于判断列表中的某个值是否存在
    li=[1,12,9,"age","alex"]
    v= 12 in li
    print(v)
    返回结果:
    True
    
    #列表中的元素以逗号分隔作为一个整体
    li=[1,12,9,"age","alex"]
    v= lex in li
    print(v)
    返回结果:
    False
    
    #嵌套内的某一个不能单独查找
    li=[1,12,9,"age",["QQ","mail",222],"alex"]
    v="QQ" in li
    print(v)
    返回结果:
    False
    
    li=[1,12,9,"age",["QQ","mail",222],"alex"]
    v=["QQ","mail",222] in li
    print(v)
    返回结果:
    True
    
    #如果要查找某个元素内的值,需要具体指定
    li=[1,12,9,"age",["QQ","mail",222],"alex"]
    v="lex" in li[5]
    print(v)
    返回结果:
    True
    
    li=[1,12,9,"age",["QQ","mail",222],"alex"]
    v="QQ" in li[4]
    print(v)
    返回结果:
    True

    ***************列表的其它说明及方法***************

    #嵌套列表的取值
    li=[1,12,9,"age",["QQ",["19",10],222],"alex"]
    v=li[4][1][0]
    print(v)
    返回结果:
    19

    #类型转换
    #字符串转换到列表
    #把字符串中每个字符当作列表的元素
    #内部原理是把字符串for循环,取得每个字符作为列表的元素
    #所以,数字类型不能转换为列表
    str1="helloworld"
    li=list(str1)
    print(li)
    返回结果:
    ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

    s=123
    li=list(s)
    print(li)
    返回结果:
    TypeError: 'int' object is not iterable

    #列表转换成字符串
    #需要自己写for循环
    #这适用于列表中元素有数字和字符串的混合
    li=[123,444,"abc","qq"]
    str1=""
    for i in li:
    str1+=str(i)
    print(str1)
    返回结果:
    123444abcqq

    #如果列表中只有字符串,没有数字,可以使用join方法
    li=["abc","qq"]
    str1="".join(li)
    print(str1)
    返回结果:
    abcqq

    ####列表的方法####

    1.append方法:在列表末尾追加

    li=[11,22,33,44]
    li.append(5)
    print(li)
    返回结果:
    [11, 22, 33, 44, 5]

    2.clear方法:清空列表

    li=[11,22,33,44]
    li.clear()
    print(li)
    返回结果:
    []

    3.copy方法:列表拷贝

    li=[11,22,33,44]
    v=li.copy()
    print(v)
    返回结果:
    [11, 22, 33, 44]

    4.count方法:计算列表中某元素出现的次数

    格式:必须给参数

      <list>.count(<元素>)

    li=[11,22,33,22,44]
    v=li.count(22)
    print(v)
    返回结果:
    2

    5.extend方法:传入可迭代参数,追加到列表中,与append方法的区别是extend方法迭代传入的参数,把每个值追加到列表中,而append方法不迭代,直接把参数放到列表中
    格式:
        extend(<可迭代的对象>)
        可迭代的对象有:字符串、列表、元组、字典

    #演示与append的区别
    #append方法:作为一个整体追加
    li=[11,22,33]
    li.append([123,"QQ"])
    print(li)
    返回结果:
    [11, 22, 33, [123, 'QQ']]
    
    #extend方法:迭代每个元素分别添加
    li=[11,22,33]
    li.extend([123,"QQ"])
    print(li)
    返回结果:
    [11, 22, 33, 123, 'QQ']
    
    li=[11,22,33]
    li.extend("hello")
    print(li)
    返回结果:
    [11, 22, 33, 'h', 'e', 'l', 'l', 'o']

    6.index方法:返回列表元素出现的位置,如果有重复的列表元素,则只返回第1个找到元素位置
    格式:
        index(<列表元素>)

    li=[11,22,33,44]
    v=li.index(33)
    print(v)
    返回结果:
    2
    
    li=[11,22,33,44,33]
    v=li.index(33)
    print(v)
    返回结果:
    2

    7.insert方法:向列表中指定的位置添加元素
    格式:
        insert(<位置>,<可迭代参数>)

    li=[11,22,33,44,33]
    li.insert(0,99)
    print(li)
    返回结果:
    [99, 11, 22, 33, 44, 33]

    8.pop方法:删除列表中指定位置的元素,不指定位置时默认删除最后一个元素,可以返回被删除的值
    格式:
        pop([index])

    li=[11,22,33,44,33]
    v=li.pop()
    print(li)
    print(v)
    返回结果:
    [11, 22, 33, 44]
    33
    
    #删除指定位置的元素
    li=[11,22,33,44,33]
    v=li.pop(1)
    print(li)
    print(v)
    返回结果:
    [11, 33, 44, 33]
    22

    9.remove方法:删除列表中指定元素,如果有重复元素,则默认删除第1个
    格式:
        remove(<value>)

    li=[11,22,33,44,33]
    li.remove(22)
    print(li)
    返回结果:
    [11, 33, 44, 33]
    
    li=[11,22,33,44,33]
    li.remove(33)
    print(li)
    返回结果:
    [11, 22, 44, 33]

    10.reverse方法:将列表进行反转

    li=[11,22,33,44,33]
    print(li)
    li.reverse()
    print(li)
    返回结果:
    [11, 22, 33, 44, 33]
    [33, 44, 33, 22, 11]

    11.sort方法:对列表中元素排序,默认升序,可以指定为降序

    li=[11,44,22,33]
    li.sort()
    print(li)
    li.sort(reverse=True)
    print(li)
    返回结果:
    [11, 22, 33, 44]
    [44, 33, 22, 11]
  • 相关阅读:
    python 小爬虫
    动态规划,网易秋招
    leetcode 3
    leetcode 27 水
    leetcode 21 list merge
    leetcode 15 3sum & leetcode 18 4sum
    leetcode 389 map iterator 的使用
    [转]使用flask实现mock server
    python __str__repr__ 区别
    Robot Framework 源码阅读 day2 TestSuitBuilder
  • 原文地址:https://www.cnblogs.com/Kumanon/p/10380626.html
Copyright © 2020-2023  润新知