zoukankan      html  css  js  c++  java
  • python通用序列操作

    python有6种内建序列,包括列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。

    所有序列类型都可以进行某种特定的操作,这些操作包括:索引(indexing)、分片(sliceing)、加(adding)、乘(multipllying)以及检查某个元素是否属于序列的成员(成员资格)。除此之外,还有计算序列长度、找出最大元素和最小元素的内建函数。

    1、索引

        序列中所有元素都有自己的编号--从0开始递增。使用负数索引时,python从最后一个元素开始计数,最后一个元素的编号是-1(不是-0,因为那会和第一个元素重合)。如下示例:

    >>>name = 'foxsir'
    >>>name[0]
    'f'
    >>>name[2]
    'x'
    >>>name[-1]
    'r'
    >>>name[-4]
    'x'

     2、分片

    分片通过冒号相隔的两个索引来实现,用来访问一定范围内的元素,实现提取序列。分片的操作需要提供两个索引作为边界,第一个索引的元素是包含在分片内的,而第二个不包含在分片内。

    示例如下:

    >>>numbers = [1,2,3,4,5,6,7,8,9,10]
    >>>numbers[3:6]
    [4,5,6]
    >>>numbers[0:1]
    [1]
    >>>numbers[:3]
    [1,2,3]
    >>>numbers[:]
    [1,2,3,4,5,6,7,8,9,10]
    >>>numbers[-3:]
    [8,9,10]

    2.1、步长

    步长是分片的第三个参数,默认是1,当显式设置大于1的数字时,就会跳过某些元素,当为负值的时候,表示从右到左提取元素。示例如下:

    >>>numbers[0:10:1]
    [1,2,3,4,5,6,7,8,9,10]
    >>>numbers[::1]
    [1,2,3,4,5,6,7,8,9,10]
    >>>numbers[0:10:2]
    [1,3,5,7,9]
    >>>numbers[::2]
    [1,3,5,7,9]
    >>>numbers[3:6:3]
    [4]
    >>>numbers[::-1]
    [10,9,8,7,6,5,4,3,2,1]
    >>>numbers[10:0:-2]
    [10,8,6,4,2]
    >>>numbers[0:10:-2]
    []
    >>>numbers[::-2]
    [10,8,6,4,2]

    3、序列相加

    通过使用加好可以进行序列的连续操作,只有相同类型的序列才能进行连接操作。示例如下:

    >>>[1,2,3]+[4,5,6]
    [1,2,3,4,5,6]
    >>>'hello,'+''world'
    hello,world

    4、乘法

    用序列乘以数字num会生成一个新的序列,而且在新的序列中,原来的序列将被重复num次。示例如下:

    >>>'fox'*5
    'foxfoxfoxfoxfox'
    >>>[2]*5
    [2,2,2,2,2]

    5、成员资格

    in运算符是一个布尔运算符,用来检查一个值是否在序列中,在则返回True,不在则返回False。示例如下:

    >>>permissions = 'rw'
    >>>'w' in permissions
    True
    >>>'x' in permissions
    False
    >>>users = ['mlh','foo','bar']
    >>>raw_input('Enter your user name: ') in users
    Enter your user name: mlh
    True
    >>>subject = '$$$ Get rich now !!! $$$'
    >>>'$$$' in subject
    True

    6、长度、最小值、最大值

    内建函数len返回系列中包含的元素数量,min和max函数分别返回序列中最大和最小的元素。示例如下:

    >>>numbers = [100,34,678]
    >>>len(numbers)
    3
    >>>max(numbers)
    678
    >>>min(numbers)
    34
    >>>max(2,3)
    3
  • 相关阅读:
    谈对信息增益与决策树的理解
    k近邻法
    感知机相关难点细解
    点到空间中面的距离
    统计学习方法中的标注问题
    Hoeffding不等式与泛化误差上界
    经验风险与期望风险
    先验概率与后验概率
    spring和springboot常用注解总结
    多环境下读取不同的配置文件
  • 原文地址:https://www.cnblogs.com/foxsir/p/5432406.html
Copyright © 2011-2022 走看看