zoukankan      html  css  js  c++  java
  • python学习—序列类型、列表、元组

    序列类型

    序列类型的数据:数据内部的元素是有顺序的(有下标)

    序列类型的数据:字符串类型、列表类型、元组类型

    1、可以通过下标取值

    s = "python"
    li = ["aaa", "bbb", "ccc"]
    tu = (123, "222", "999")

    # 从前往后数下标:从0开始
    print(s[3])
    print(li[1])
    print(tu[2])


    # 从后往前数下标:从-1开始
    print(s[-3])
    print(li[-2])
    print(tu[-1])

    2、可以进行切片操作:获取数据中的某一段

    ①用法一:[起始位置 :终止位置]  --------左闭右开

    li = [11, 22, 33, 44, 55, 66, 77, 88]
    res = li[0:4]
    print(res)
    print(li[2:5])

     

     用法二:[起始位置 :终止位置:步长]

    li = [11, 22, 33, 44, 55, 66, 77, 88]

    res = li[::2]

    结果:

     反向切片

    li = [11, 22, 33, 44, 55, 66, 77, 88]

    res = li[2:-3]

    结果:

     步长为-1:倒过来获取数列

    li = [11, 22, 33, 44, 55, 66, 77, 88]

    res = li[::-1]

     

     

     元组和列表

    元组和列表里面可以存放任意类型的数据:字符串、布尔值、列表、数值

    列表 

    list类型,通过[]表示,列表里的元素可以是任何数据类型

    ['python' , True, 666,['python' , 'hello' , 666],(1,2,2) ]

    li = [11, 22, 33, 44, 55, 66, 77, 88]

     ①len函数

    print(len(li))--------3

    print(len(“aa”))--------2

    列表的常用方法

    ①增

    1、append:往列表尾部添加元素

    li = [11, 22, 33, 44]
    li.append(111)
    print(li)

    结果:[11, 22, 33, 44, 111]

    2、insert(位置下标,内容):指定位置添加元素

    li = [11, 22, 33, 44]
    li.insert(1,"aaa")
    print(li)

    结果:[11, 'aaa', 22, 33, 44]

    3、extend:一次性添加多个元素(用列表或元组表示),往列表尾部添加

    li = [11, 22, 33, 44]
    li.extend([1,2,3])
    print(li)

    结果:[11, 22, 33, 44, 1, 2, 3]

    ②删

    1、remove:删除指定元素(找到第一个,进行删除)

    li = [2,6,4,5,6,11, 22, 33, 11,22,33]
    li.remove(11)
    print(li)

    结果:[2, 6, 4, 5, 6, 22, 33, 11, 22, 33]

    2、pop:通过下标删除指定元素,不写下标默认删除最后一个

    li = [2,6,4,5,6,11, 22, 33, 11,22,33]
    li.pop(2)
    print(li)

    结果:[2, 6, 5, 6, 11, 22, 33, 11, 22, 33]

    3、clear:清空列表,删除列表中所有元素

    li = [2,6,4,5,6,11, 22, 33, 11,22,33]
    li.clear()
    print(li)

    结果:[]

    ③查

    1、index():查找元素下标,找到第一个就返回

    index(内容,下标起始位置,下标终止位置)(左闭右开)

    li = [2,6,4,5,6,11, 22, 33, 11,22,33]
    res = li.index(11)
    print(res)

    结果:5

    li = [2,6,4,5,6,11, 22, 33, 11,22,33]
    res = li.index(11,-3,-1)
    print(res)

    结果:8

    2、count :查找列表中某个元素的个数

    li = [2,6,4,5,6,11, 22, 33, 11,22,33]
    res = li.count(11)
    print(res)

    结果:2

    ④改

    通过下标修改值

    li = [11, 22, 33]
    li[1] = 999
    print(li)

    结果:[11, 999, 33]

    ⑤其他方法

    1、sort:对列表排序(全是数值的情况下),默认从小到大排序,正序

    li = [11, 22, 33, 1, 2, 3]
    li.sort()
    print(li)

    结果:[1, 2, 3, 11, 22, 33]

    从大到小:sort(reverse=True),倒序

    li = [11, 22, 33, 1, 2, 3]
    li.sort(reverse=True)
    print(li)

    结果:[33, 22, 11, 3, 2, 1]

    *reverse():反向

    li = [11, 22, 33, 1, 2, 3]
    li.reverse()
    print(li)

    结果:[3, 2, 1, 33, 22, 11]

    2、copy:复制(复制后的id地址也就是内存地址和原来的不一致,复制后的内容指向一份新的内存地址)

    li = [11, 22, 33]
    li2 = li
    li2.append(111)
    print(li)
    
    li3 = [11, 22, 33]
    li4 = li3.copy()
    li4.append(111)
    print(li3)

    结果:

    [11, 22, 33, 111]
    [11, 22, 33]

    元组

    元组 tuple类型,元组是不可变类型,内部元素定义了之后就不能更改

    ('python' , True, 666,['python' , 'hello' , 666] )

    元组只有查询方法:index、count

    扩展:元组拆包(列表、字符串)

    tu = (11, 22, 33)
    a, b, c = tu
    print(a, b, c)
    
    结果:11 22 33
  • 相关阅读:
    第51月第8天 nsdata分割
    第50月第25天 TestFlight不可用
    第50月第16日 licode libnice owt
    第50月第13天 webrtc抗丢包与带宽自适应
    第50月第12天 LiveVideoStack
    第50月第3天 webrtc fec
    第49月第29天 WebRTC GN构建工具的使用
    第49月第20天 在Mac OS X上.dylib和.so之间的区别
    iOS开发总结(A0)- make table view more responsive
    iOS开发总结(A0)- block基础知识
  • 原文地址:https://www.cnblogs.com/erchun/p/12275865.html
Copyright © 2011-2022 走看看