zoukankan      html  css  js  c++  java
  • Python学习三---序列、列表、元组

    一、序列

    1.1、序列概念

    pythn中最基本的数据结构是序列(sequence).

    序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推。类似JAVA中数组和集合中的下标。

    从后向前,最后一个索引是-1,-2,。。。。

    python包含6种内建序列。最常用的两种类:列表和元组,其它内奸序列类型有字符串、Unicode字符串、buffer对象和xrange对象.

    列表和元组的主要区别在于,列表可以修改,元组不能修改。

    添加元素就用列表。

    由于 一些原因不能修改时就用元组。

    二、序列

    2.1、序列概念

    使用[]定义,如green=['test','test1','test2']

    2.2、序列指定元素操作

    字符串也是由字符组成的序列

    使用len(序列名)获取序列长度

    最后一个元素是len()-1,

    使用序列名[索引号]获取指定索引元素

    删除元素用pop(索引)函数,删除最后一位不用写索引

    修改指定索下元素:序列名[索引]=新值

    添加新元素在最后位置

    序列名.append(新元素)

    2.2、分片

    分片可以操作一定范围内的元素。

    分片通过冒号相隔的两个索引来实现

    如:taget='<a href="http://www.163.com">163 web sit</a>'

    taget[9:28]取的是从下标9开始到下标28的元素

    第一个索引元素是包含在分片内的,

    第二个索引则不包含在分片内。

    使用数字更明显

    2.3、使用步长

    [索引:索引:步长]

    负数做为步长时,必须让开始点大于结束点。

    以于一个正数步长,Python会从序列的头部开始向右提取元素,直到最后一个元素;

    而对于负数步长,则是从序列的尾部开始向左提取元素,直到第一个元素。

    2.4、序列相加

    2种相同类型的序列才可以相加想连接在一起,类型不同无法连接在一起

    2.4、序列相乖

    用数字x乖以一个序列会生成新的序列,在新的序列中,原来的序列将被重复x次

    None、列表和初始化

    空列表可以简单通过,两个中括号进行表示[]--什么都没有,但,如果想创建一个占用10个元素空间,却不包括任何有用内容的列表,可以[42]*10,或者[0]*10,这个就生成了一个包括10个0元素的列表,

    然而,有时可能会需要一个值来代表空值------意味没有放置任何元素,这个时候可以使用None,

    None是python内建值,它的确切含意是“这里什么都没有”,因此,如果想初始化一个长度为10的列表,可以使用[None]*10,

     

    2.5、成员资格

    检查一个元素是不是在序列中,使用in运算符,在就返回True不在就返回False

    2.6、长度、最大值和最小值

    长度用len(列表名)

    最大值max(列表名)

    最小值min(列表名)

    三、列表

    3.1、list函数

    字符串不能像列表一样被修改,使得list可以将字符串,拆分成列表,每个字符一个元素。适用于所有类型的序列,不只是字符串。

    3.2、改变列表:元素赋值

    使用列表[索引]=新值即可

    3.3、改变列表:删除元素

    序列可以使用pop(索引)来删除

    这里用del 列表名[索引]来删除

    3.3、改变列表:分片赋值

    使用 列表名[索引:索引]=新值


    可以使用步长来赋值,正负步长

    3.3、列表:常用方法

    1.append()方法用于在列表末尾追加新的对象:列表.append(新的元素)

    2.count方法统计某个元素在列表中出现的次数:列表.count(值)

    3.extend 方法可以在列表末尾一次性追加加一个序列中的多个值。

    4.index方法用于从列表中找出某个值第一次出现的下标索引列表.index(值)

    5.insert方法用于将对象插入到列表 中,列表.insert(索引,值)

    6.pop方法会移除列表中的一个元素,默认是最后一个,并返回这个元素的值。列表.pop();

    7.remove方法用于移除列表中某个值的第一匹配项。列表.remove(值)

    8.reverse 方法列表中的元素反向存放 。

    9.sort()对列表进行排序

    10.高级排序.如果需要按特定的方式排序而不是sort默认的方式)可以使用compare(x,y)的形式进行自定义比较

    compare(x,y)会在x<y是返回负数

    compare(x,y)会在x>y是返回正数

    compare(x,y)会在x=y是返回0

    11.sort:方法有另外两个可选参数,key-reverse,如果使用它们,就要通过名字来指定,

    参数key与cmp类似,---必须提供,在一个排序过程中使用的函数,它不是来确定对象的大小,而是为每个元素创建一个键,然后所有元素根据键来排序,因此如果根据元素的长度进行排序,那么可以使用len作为函数

    12.reverse:是简单的布尔值(True或者False),用来指明列表是否进行返向排序

    四、元组

    4.1、元组概念

    元组列表一样也是序列,唯一不同是元组不能修改,字符串也是这样

    创建元组,语法:使用逗号,分隔一些值,就自动创建了元组.最好使用小括号

    使用(,,,,,,,)来声明

    4.2、tuple函数


    4.3、基本元组操作

    因为不能修改,只有访问操作了。

    五、所用函数

    cmp(x,y)   :比较两个值

    len(seq):序列的长度

    list(seq):把序列转换成列表

    max(args):返回序列或者参数集合中的最大值

    minx(args):返回序列或者参数集合中的最小值

    reversed(seq):对象序列进行反转迭代

    sorted(seq):返回已经排序的包含seq所有元素的列表

    tuple(seq):把序列转换成元组

  • 相关阅读:
    openssl生成公钥私钥对 加解密
    boost replace_if replace_all_regex_copy用法
    PS 图像滤镜— — USM 锐化
    使用boost库生成 随机数 随机字符串
    改动Android设备信息,如改动手机型号为iPhone7黄金土豪版!
    验证(Verification)与确认(Validation)的差别
    Spring-SpringMVC-Hibernate整合
    全面整理的C++面试题
    Metropolis Hasting算法
    捕捉到来自宇宙深空的神奇X-射线信号
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4798739.html
Copyright © 2011-2022 走看看