• python学习笔记——序列


    目录:

    一;概念

    二:访问单个元素

    三;切片

    四;序列的赋值

    五;序列的加法和乘法

    六;查找序列中是否存在某个或某些元素

    七;与序列有关的三个函数

    ……

    一;概念:

    为满足程序中复杂的数据表示,python支持组合数据类型,可以将一批数据作为一个整体进行数据操作,这就是数据容器的概念。

    容器中可包含多个数据(元素),容器中的数据(元素)有先后次序,每个元素通过先用其下标(索引)来访问。序列的下标从0开始,后面下标依次为1,2,3…。

    序列是其中一大类数据容器的统称,不是具体的数据类型。

    常见的序列类型:列表(list),字符串(string),元祖(tuple)。

     

    上图是列表、字符串、元祖都通用的操作。

    ……

    ……

    二;访问单个元素

    a=’hello’ #初始化一个字符串

    print(a[0])

    这个程序将会输出:

    h

    其实,除了这一种下标的表达方式以外,还有一种下标表示方法,如果序列中有n个元素,那么倒数第一个元素是a[-1],倒数第二个元素是a[-2],最后一个元素是a[-n].这种表示方法咋一看有点反人类,完全没必要嘛,但其实这种表达方法很适合用来对序列进行切片操作,同时,也可以很轻松的找到未知长度序列的最后面的元素。

    ……

    ……

    三;切片

    切片实际上就是访问序列中的多个元素。(不再是单个元素)

    比如这样的程序:

    a=[1,2,3,4,5,6]

    print(a[1:4])

    会输出:

    [2, 3, 4]

    其实就是从下标1开始切一刀,然后在下标4的位置也切一刀,然后把中间的元素输出。(不包括下标4)

    其实上面的程序还能写成另外一种形式:

    a=[1,2,3,4,5,6]

    print(a[1:-2])

    从下标1开始切一刀,然后在下标-2的位置也切一刀,输出和上面是一样的。

    切片还可以设置步长,比如a[1:5:2],其实就是输出下标1、下标3的值。

    ……

    ……

    四;序列的赋值

    和c语言中的数组不同。

    序列可以进行这样的一个操作:

    a=[1,2,3,4,5,6]

    b=a #将列表a赋值给了b

    b[1]=555

    print(a)

    print(b)

    然而,查看一下输出结果:

    [1, 555, 3, 4, 5, 6]

    [1, 555, 3, 4, 5, 6]

    b[1]改变,a[1]也同时发生了改变,其实a和b根本就是同一个东西,这根本就不是赋值,相当于是给a取了一个别名叫作b,虽然名字有差距,但都是同一个东西。

    所以,想要进行赋值的话,可以用切片进行处理。

    a=[1,2,3,4,5,6]

    b=a[:] #把a全部切给b

    b[1]=555

    print(a)

    print(b)

    然后看一下输出结果:

    [1, 2, 3, 4, 5, 6]

    [1, 555, 3, 4, 5, 6]

    ok,赋值成功了,a和b现在已经是完全不同的两个东西了。

    ……

    ……

    五;序列的加法和乘法

    实际上和上一篇学习笔记中讲的一样。

    x=[1,2,3]

    y=[4,5,6]

    z=x+y

    那么z=[1,2,3,4,5,6]

    如果z=3*x

    那么z=[1,2,3,1,2,3,1,2,3]

    上面演示的是列表的加法和乘法,而序列和元祖也是一样的。

    ……

    ……

    六;查找序列中是否存在某个或某些元素

    用in来进行操作。

    比如这样一段程序:

    a=[1,2,3,4,5,6]

    print(3 in a)

    输出结果得:

    True         #输出一个bool值

    输出为真,说明序列a中有3这个元素。

    不过列表和字符串有些不同。

    a=[1,2,3,4,5,6]

    print([2,3] in a)

    会输出:

    False

    但如果程序是这样:

    a=[1,[2,3],4,5,6]

    print([2,3] in a)

    就会输出:

    True

    这说明,列表中只能确定单个元素是否存在。

    但字符串不一样,比如这样一段程序:

    a='hello'

    print('he' in a)

    会输出:

    True

    说明字符串中可以确定多个元素是否存在,和列表还是有区别的。

    至于元祖……元祖和列表一样。

    ……

    ……

    七;与序列有关的三个函数

    len()函数,可以输出序列的长度。

    max()函数,可以输出序列的最大值

    min()函数,可以输出序列的最小值

    比如这样一段代码:

    a='ajio1oiw1'

    print(min(a))

    print(max(a))

    print(len(a))

    会输出:

    1         #最小值是1

    w         #最大值是w

    9         #序列长度是9

  • 相关阅读:
    面试题:Java中为什么只有值传递?
    【Hack The Box】linux练习-- Sense
    2022“杭电杯” 中国大学生算法设计超级联赛(4)1 2 题解
    Helm3模板-其他注意事项
    MATLAB中ss2tf函数用法
    【JavaScript进阶之旅 函数式编程篇 第三十三章】JS函数、特点、函数式编程、纯函数
    来自中科院的一次java技术面经历
    Springboot+vue+java幼儿园管理系统
    python pytesseract 中文文字批量识别
    深入理解强化学习——强化学习的基础知识
  • 原文地址:https://blog.csdn.net/oyqho/article/details/127720466