zoukankan      html  css  js  c++  java
  • Python基础 之 list类-列表

    list类-列表

    一、list类的基本属性

    1. 列表格式

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]

    2. 列表中可以嵌套任何类型

    中括号括起来
    使用,分割每个元素
    列表中的元素可以是 数字,字符串,列表,布尔值;所有的都能放进去。
    “集合”,内部放置任何东西

    3.索引取值

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
    print(li[3])
    #age

    4.切片取值

    切片结果也是列表

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
    print(li[3:-1])
    #['age', ['伊文', ['19', 10], 'even'], 'root']

    5.for循环 

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
    for n in li:
        print(n)
    #1
    #12
    #9
    #age
    #['伊文', ['19', 10], 'even']
    #root
    #True

    二、list类中元素的修改

    1.修改

    索引修改

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
    li[1] = 120
    print(li)
    li[1] = [11,22,33,44]
    print(li)
    #[1, 120, 9, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
    #[1, [11, 22, 33, 44], 9, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
    索引修改

    切片修改

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
    li[1:3] = [120,90]
    print(li)
    #[1, 120, 90, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
    切片修改

    2.删除

    索引删除

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
    del li[1]
    print(li)
    #[1, 9, 'age', ['伊文', ['19', 10], 'even'], 'root', True]
    索引删除

    切片删除

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
    del li[2:6]
    print(li)
    #[1, 12, True]
    切片删除

    三、list类的一些操作

    1.in操作

    判断元素是否在列表里

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
    v1 = "伊文" in li
    print(v1)
    v2 = "Q" in li
    print(v2)
    #False    #伊文在嵌套内列表的元素中
    #True

    2.提取操作

    li = [1, 12, 9, "age", ["伊文", ["19", 10], "even"], "root", True]
    n = li[4][1][0]    #提取第5个元素列表中的第2个元素列表中的第1个元素
    print(n)
    #19

    3.转换

    字符串转换列表,内部自己使用for循环

    li =  list("evenroot")
    new_li = list(li)
    print(new_li)
    #['e', 'v', 'e', 'n', 'r', 'o', 'o', 't']

    列表转换成字符串(既有数字又有字符串的情况)
    需要自己写for循环一个一个处理

    li = [11,22,33,"123","even"]
    s = ""
    for i in li:
        s = s + str(i)
    print(s)
    #112233123even

    列表转换成字符串(列表中的元素只有字符串的情况)
    直接使用字符串join方法

    li = ["123","alex"]
    v = "".join(li)
    print(v)
    #123alex

    四、list类中提供的方法

     1.append

    在原来值最后整体追加

    li = [11,22,33,44]
    v = li.append(5)
    print(v)
    print(li)
    
    v = li.append(["root"])
    print(v)
    print(li)
    #None
    #[11, 22, 33, 44, 5]
    #None
    #[11, 22, 33, 44, 5, ['root']]
    append

    2.clear

    清空列表

    li = [11,22,33,44]
    li.clear()
    print(li)
    #[]
    clear

    3.copy

    拷贝(浅拷贝)

    li = [11,22,33,44]
    v = li.copy()
    print(v)
    #[11,22,33,44]
    copy

    4.count

    计数,计算元素出现的次数

    li = [11,22,33,22,44]
    v = li.count(22)
    print(v)
    #2
    count

    5.extend

    扩展原列表,参数:可迭代对象
    一个一个追加元素(区别于append)

    li = [11,22,33,22,44]
    li.extend([9999,"root"])
    print(li)
    #[11, 22, 33, 22, 44, 9999, 'root']
    extend

    6.index

    根据值获取当前值索引位置(左优先)

    li = [11,22,33,22,44]
    v = li.index(33)
    print(v)
    #2
    index

    7.insert

    在指定索引位置插入元素

    li = [11,22,33,22,44]
    li.insert(0,99)
    print(li)
    #[99, 11, 22, 33, 22, 44]
    insert

    8.pop

    删除某个值,并获取删除的值

    默认情况

    li = [11,22,33,22,44]
    v = li.pop()
    print(li)
    print(v)
    #[11, 22, 33, 22]
    #44
    pop()

    指定索引的情况

    li = [11,22,33,22,44]
    v = li.pop(1)    #拿掉第二个元素
    print(li)
    print(v)
    #[11, 33, 22, 44]
    #22
    pop(1)

    9.remove

    删除列表中的指定值(左优先)

    li = [11,22,33,22,44]
    li.remove(22)
    print(li)
    #[11, 33, 22, 44]
    remove

    *到这里为止这几类方法和操作都可以对list类进行修改或删除

    pop 
    remove 
    del li[0]
    del li[1:-1]
    clear

    10.reverse

    将当前列表进行反转

    li = [11,22,33,22,44]
    li.reverse()
    print(li)
    #[44, 22, 33, 22, 11]
    reverse

    11.sort

    排序

    从小到大排序

    li = [11,44,22,33,22]
    li.sort()
    print(li)
    #[11, 22, 22, 33, 44]
    sort()

    从大到小排序

    li = [11,44,22,33,22]
    li.sort(reverse=True)
    print(li)
    #[44, 33, 22, 22, 11]
    sort(reverse=True)

    *cmp key sorted暂不讨论

  • 相关阅读:
    tech 浅谈 Yield
    Python strip lstrip rstrip使用方法
    Python strip lstrip rstrip使用方
    Python 的学习脚印(1)
    python中列表的赋值
    python的re模块的sub方法
    Python的异常处理机制
    [python] shutil模块
    【ActiveMq】启动amq时遇到java.net.URISyntaxException: Illegal character in hostname at index处理方法
    【sql总结】
  • 原文地址:https://www.cnblogs.com/evenyao/p/9151323.html
Copyright © 2011-2022 走看看