• Python中的列表、元组的增、删、改、查


    1.列表 list[ ]

    列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[ ] 括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:li = [‘span’,123,True,(1,2,3,’python’),[1,2,3,’小明’,],{‘name’:’span’}]

    列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值

    1.1 列表有序,意味着可以用索引、切片取数据,也可以跳着切片。

    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    l1 = li[2]
    l2 = li[1]
    print(l1)
    print(l2)
    l3 = li[0:3]
    print(l3)
    >>>python 
    >>>[18, 188, 1888]
    >>>['span', [18, 188, 1888], 'python']

    1.2 #增加

    list.append() 增加到最后

    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    li.append("Math")
    print(li)
    >>>['span', [18, 188, 1888], 'python', '金融', 'FX-EXchange', 'Math']

    拓展:持续向列表里添加元素,按“Q”退出

    while 1:
        username = input(">>>:")
        if username.strip().upper() == "Q":
            break
        else:
            li.append(username)
    print(li)

    # 插入 list.insert(索引,插入的值)

    #添加 list.extend("iterable") 迭代的添加,将添加的值分成可迭代的元素,迭代得添加(分解到最后的可迭代的元素元素)

    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    li.extend("Math")
    li.extend([1,2,3])
    print(li)
    >>>['span', [18, 188, 1888], 'python', '金融', 'FX-EXchange', 'M', 'a', 't', 'h', 1, 2, 3]
    PS:int object is not iterable.

    1.3

    #删除 list.pop(index) 按索引删除

    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    item = li.pop(2)#有返回值,默认是删除最后一个
    print(item,li)
    >>>python ['span', [18, 188, 1888], '金融', 'FX-EXchange']

    #删除 list.remove() 按元素删除

    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    li.remove("span")#无返回值
    print(li)
    >>>[[18, 188, 1888], 'python', '金融', 'FX-EXchange']

    #清空一个列表 list.clear() #清空一个列表,列表仍存在

    #删除一个列表 del list

    del li
    print(li)
    >>>NameError: name 'li' is not defined

    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    del li[2:]#切片删除
    print(li)
    >>>['span', [18, 188, 1888]]

    1.4 改动列表里面的值,可直接按索引赋值 如:list[index] = “”

    还可以切片改:

    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    li[0:2] = "我爱"#iterable value
    print(li)
    >>>['', '', 'python', '金融', 'FX-EXchange']
    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    li[0:2] = [1,2,3,"",""]
    print(li)
    >>>[1, 2, 3, '', '', 'python', '金融', 'FX-EXchange']

    1.5 查 #可按索引查,也可按切片查 也可以通过for循环查找所有的元素

    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    for i in li:
        print(i)
    >>>
    span
    [18, 188, 1888]
    python
    金融
    FX-EXchange

    注:公共方法:

    列表元素的个数len();元素出现的个数:list.count(value);通过元素找索引 list.index(value)

    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    i = len(li)
    num = li.count("spam")
    index = li.index("python")#如果查不到会报错
    print(i,num,index)
    >>> 5 1 2

    # 排序

    list.sort()#正序排序;

    list.sort(reverse=True)#倒序排序

    list.reverse()#反转

    #####补充:列表的嵌套及其他操作

    一、找到列表中的某个元,并显示元素的元素

    #补充:列表的嵌套
    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    print(li[3][0])#找到“金融”的金字,并将其打印
    >>>金
    #找到列表第一个元素,将其首字母大写,并放回
    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    name = li[0].capitalize()
    li[0] = name
    print(li[0])
    >>>Span
    #找到‘金融’二字,将‘融’字替换成“元宝”
    li = ["span",[18,188,1888],"python","金融","FX-EXchange"]
    #li[3] = "金元宝"
    #或者
    li[3] = li[3].replace("融","元宝")
    print(li)
    >>>['span', [18, 188, 1888], 'python', '金元宝', 'FX-EXchange']
    

    ****元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。***

    # tuple

    #元组,只读列表,可查询可切片:儿子不能够孙子能改
    tu = ("span",[18,188,1888],["python",123,666],"金融","FX-EXchange")
    #将1888,改成808
    tu[1][2] = 808
    print(tu)
    >>>('span', [18, 188, 808], ['python', 123, 666], '金融', 'FX-EXchange')
    
    #在列表后面添加9999
    tu[1].append(999)
    print(tu)
    >>>('span', [18, 188,
    #列表转换成字符串"".join(iterable)
    ###列表转换成字符串 
    li = ["span","金融","FX-EXchange"]
    s = "".join(li)
    print(s)
    >>>span金融FX-EXchange
    
    name = "span"
    s = "_".join(name)
    print(s)
    >>>s_p_a_n
    #打印列表中的每一个元素
    li = ["span",[18,188,1888],["python",123,666],"金融","FX-EXchange"] for i in range(len(li)): if type(li[i]) == list: for j in li[i]: print(j,end=" ") else: print(li[i],end=" ") >>>span 18 188 1888 python 123 666 金融 FX-EXchange

     ###元组里面有一个元素且不加逗号,此元素是什么类型就是什么类型

    ##
    tu1 = (1)
    tu2 = (1,)
    print(tu1,type(tu1))
    print(tu2,type(tu2))
    》》》1 <class 'int'>
    》》》(1,) <class 'tuple'>
  • 相关阅读:
    jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式
    shell脚本,awk取奇数行与偶数行方法。
    shell脚本,awk取中间列的方法。
    shell脚本,每5个字符之间插入"|",行末不插入“|”。
    shell脚本,tee小工具的用法。
    shell脚本,逻辑结构题练习。
    shell脚本,实现奇数行等于偶数行。
    shell脚本,编程题练习。
    shell脚本,用awk实现替换文件里面的内容。
    shell脚本,awk替换{}里面的内容
  • 原文地址:https://www.cnblogs.com/shaopan/p/9868430.html
Copyright © 2020-2023  润新知