• 【Python21天学习挑战赛】-列表 & 元组 & range


    活动地址:CSDN21天学习挑战赛

    ​开头一叙:
    无论是以后学习需要或者是三年后的工作需要,都需要用到python的工具,也接着这次活动的机会,把python系统的学一遍。跟着大佬,让python知识从入门到精通。



    ​1 列表

    列表——list–容器(书包) : 有序、可变、支持索引
    列表:存储数据、存储字符串、数字、布尔型、列表、集合、元组、字典

    • list[1:3]左闭右开

    定义一个列表:

    lst=["alex",123,True,"憨憨","alex"]   #用逗号分割表示一个元素,存入的是地址
    # print(lst)
    # print(id(lst[0]))#id获取对象的内存地址
    # #['alex', 123, True, '憨憨'],输出有序
    
    • 1
    • 2
    • 3
    • 4

    列表是可变的:

     lst[0]="alexxx" #字符串不是可变的变量
     print(lst)
    
    • 1
    • 2

    若继续添加列表内容:

    lst.append("烤鸭") #在列表最后的位置添加
    print(lst)
    lst.insert(2,"黑哥") #在第二个元素后面添加。但以后尽量不要使用,若数据量太大,影响效率
    print(lst)
    lst.extend("今天是个好日子") #迭代添加,把今天好逐个添加,不能放数字,因为数字不能被循环
    #['alex', 123, True, '憨憨', '今', '天', '是', '个', '好', '日', '子']
    print(lst)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    列表删除元素:

    lst=["alex",123,True,"憨憨","alex1"]
    lst.pop()   #弹,默认删除最后一个
    print(lst)
    lst.pop(1)
    print(lst)  # 通过指定索引删除
    lst.remove("憨憨")    #通过元素名字删除,若有多个元素重名,删除第一个,此后不再删除
    print(lst)
    
    del lst #强制销毁列表
    del lst[0:3]    #删除0-3,切片删除
    print(lst)
    del lst[0:4:3]  #删除0-4,0开始之后,中间隔断两个数删一次,步长删除
    print(lst)
    
    lst.clear() #清空
    print(lst)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    修改列表内容:

    lst=["alex",123,True,"憨憨","alex1"]
    lst[3]="大憨憨"
    print(lst)
    lst[1:2]="12345" #切片修改
    #['alex', '1', '2', '3', '4', '5', True, '憨憨', 'alex1']
    print(lst)
    lst[1:4]=1,"daaa",3
    print(lst)
    lst[1:4:2]="12" #步长不为1的,必须一一对应,多一个或者少一个都不行
    print(lst)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    列表的嵌套:

    lst=[1,"春生","小东北","渣弟",["大黑哥",["孙悟空","弼马温","齐天大圣"],"冯强","海峰",["太白金星","女神","吴超",["萧峰"]]]]
    print(lst[-1])
    # ['大黑哥', '冯强', '海峰', ['太白金星', '女神', '吴超', ['萧峰']]]
    a=lst[-1]
    print(a[-1])
    #输出:['太白金星', '女神', '吴超', ['萧峰']]
    # 不管什么类型切片的时候,都是源数据类型
    #想要获取'弼马温'
    a=lst[-1][1][1]
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2 元组

    2. 1 定义

    首先举一个例子:

    t=123,'abc',["come","here"]
    print(t)
    
    • 1
    • 2

    元组是用圆括号括起来的,元素之间用逗号隔开。如上输出:

    (123, 'abc', ['come', 'here'])
    
    • 1

    其中,元组也是一种序列,与字符串、列表类似。

    • 元组中的元素不能更改,与字符串类似
    • 元组的存储类型可以是任何类型的数据,这一点与列表相同

    2.2 索引与切片

    操作与列表类似:

    t=1,'23',[123,'abc'],["come","here"]
    print(t[2])
    print(t[1:])
    print(t[2][0])
    
    • 1
    • 2
    • 3
    • 4
    [123, 'abc']
    ('23', [123, 'abc'], ['come', 'here'])
    123
    
    • 1
    • 2
    • 3

    需要注意的是,若一个元组只有一个元素,应该在元素后面加一个半角的英文逗号。如下:

    a=(3)
    print(type(a))
    b=(3,)
    print(type(b))
    
    • 1
    • 2
    • 3
    • 4
    <class 'int'>
    <class 'tuple'>
    
    • 1
    • 2

    列表与元组之间的转换

    • 元组->列表 tuple->list
    t=1,'23',[123,'abc'],["come","here"]
    print(t)
    tls=list(t)
    print(tls)
    #输出:
    #(1, '23', [123, 'abc'], ['come', 'here'])
    #[1, '23', [123, 'abc'], ['come', 'here']]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 列表->元组 list->tuple
    tu_tuple=tuple(tls)
    print(tu_tuple)
    #输出:
    #(1, '23', [123, 'abc'], ['come', 'here'])
    
    • 1
    • 2
    • 3
    • 4

    3 range() - 范围

    python3 中的range是一个迭代对象,写得是怎样的打印的怎样

    print(list(range(0,10)))
    # 输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  #顾头不顾尾(左闭右开)
    
    • 1
    • 2

    python2 中的range返回的是一个列表

    print(range(0,10))
    # # 输出:range(0, 10)
    
    • 1
    • 2

    示例展示:

    print(list(range(10,1,-1))) #[10:1:-1]
    #输出:[10, 9, 8, 7, 6, 5, 4, 3, 2]
    
    #使用for循环和range打印100~1
    for i in range(100,0,-1):
        print(i,end=" ")
    #输出:100 99 98 97 96 95 94 93 92 91 ..... 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    TensorFlow 2.9的零零碎碎(四)-模型的输入
    【QT小记】QT中QString与常用字符编码转换
    必知必会,7 张图轻松理解 K8S 集群内服务通信
    es搜索功能——DSL查询文档——搜索结果处理
    Typora 、 Minio and PicGo 图床搭建
    【机器学习】(基础篇二) —— 监督学习和无监督学习
    甲硝唑修饰四氧化三铁Fe3O4/二氧化硅SiO2/二氧化钛TIO2/氧化锌ZNO/二氧化锰MnO2/二硫化钨MoS2/二硒化钨WSe2/碲化钨WTe2纳米粒
    C++【IO流】
    vue3.2 响应式之 ref 、reactive 、toRef 、 toRefs
    你与网站建立的链接并非完全安全?建议全站开启https
  • 原文地址:https://blog.csdn.net/qq_44859533/article/details/126150509