zoukankan      html  css  js  c++  java
  • 03:列表与元组

    01:什么是列表

    列表是一种Sequence类型

    ①有下标

    ②能切片

    ③可以存储任何类型的数据,每个元素是任意类型

    ④可以增删改查

    02:列表的增删改查

    • 查询-获取元素--最快是下标获取   alist[1]=2
    • 增加-列表名.append(需要增加的元素值)--从尾部增加 --alist.append(50)

    方法:列表名.insert(你需要的位置下标,插入的值)--alist.insert(0,50)

    • 删除-

    ①del-使用下标删除 --del alist[0]

    ②pop(下标)--有返回值

    alist = [10, 20, 30, 40]

    alist.pop(0)

    ③remove(值)每一次只能删除第一个出现的值

    alist = [10, 20, 30, 40]

    alist.remove(20)--效率最低print(alist)

    • 合并

    alist = [10, 20, 30, 40]

    print(alist+[5,3])#另存新地址

    print(alist.extend([3,5]))#另存列表

    print(alist)

    引申:

    • 反转整个列表 reverse

    alist.reverse()

    • 对列表进行排序,sort,默认是升序进行排列

    alist.sort()

    image.png

    image.png

     

    04:什么是元组

    元组也是一种sequence类型

    可以存储任何类型的数据,每个元素是任意类型

    05:两者区别

    元组不能改变其组成元素---不改变

    06:特性

    ①元组也是一种sequence类型

    ②下标

    ③能切片

    ④可以储存任何类型的数据,每个元素是任意类型

    ⑤内容不可以改变

    一般用途:查询,只读--系统配置参数

     

    07:元组的定义:

    空元组()--type()

    一个元素的元组 tup1=(1,)

    08:元组的使用:

    ①下标取值

    ②切片

    ③不能改变本身的内容,否则会报类型错误

    image.png

    总结:
    字符串和元组都不能改变值和数量,否则TypeError

    使用场景

    1-列表-存储的对象内容是可以改变的,如:排序

    2-元组-存储的对象不想让其他人改变 如:配置参数

     

    09:练习题:

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

    li = ["alex", "wusir", "eric", "rain", "alex"]
    del li[2:4]
    print(li)

    2、请将列表所得元素反转,并输出反转后的列表

    li = ["alex", "wusir", "eric", "rain", "alex"]
    li.reverse()
    print(li)

    3、通过对li列表的切片形成新的列表l1,l1 = [1,3,2]

    li = [1,3,2,"a",4,"b",5,"c"]
    print(li[:3])

    4、通过对li列表的切片形成新的列表l2,l2=['a',4,'b']

    li = [1,3,2,"a",4,"b",5,"c"]
    print(li[3:6])

    5、通过对li列表的切片形成新的列表l3,l3=[1,2,4,5]

    li = [1,3,2,"a",4,"b",5,"c"]
    l3 = li[::2]
    print(l3)

    6、将列表lis中的‘tt’变成大写

    (1)第一种方法: 利用索引及upper()
    
    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] = lis[3][2][1][0].replace('tt', 'TT')
    print(lis)
    
    (2)第二种方法:利用插入和删除
    lis = [2,3,"k",["qwe",20,["k1",["tt",3,"1"]],89],"ab","adv"]
    lis[3][2][1].insert(0, 'TT')
    lis[3][2][1].pop(1)
    print(lis)

    7、利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"

    li = ["alex","eric","rain"]
    print("_".join(li))

    8、查找列表li中的元素,移除每个元素的空格,并找出以’A’或者’a’开头,并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表

    li = ["taibai ","alexC","AbC ","egon","Ritian"," Wusir"," agc"]
    l2 = []
    for k in li:
        k = k.strip()
        if k.capitalize().startswith('A') and k.endswith('c'):
            l2.append(k)
    
    print(l2)
  • 相关阅读:
    Hibernate之必须导入jar包
    浏览器兼容性问题
    CSS中的浮动清除
    CSS的三种手段让元素脱离标准本文档流——浮动、绝对定位、固定定位
    块级元素和行内元素
    网页设计前端——盒子模型
    CSS的继承性和层叠性
    网站前端设计——选择器
    网站中图片的相对路径与绝对路径
    网站隐藏文件夹
  • 原文地址:https://www.cnblogs.com/kelly11/p/13291918.html
Copyright © 2011-2022 走看看