zoukankan      html  css  js  c++  java
  • python学习笔记列表和元组

    python中最基本的数据结构:sequence ,六种内建序列:列表 元组 字符串 Unicode字符串 buffer对象 xrange对象
    列表和元组的区别在于,列表可以修改,元组不可以,列表大部分情况下可以替代元组,除了使用元组作为字典的键,因为键不能修改,所以不能使用列表
    用序列存储一个人的信息

    >>>edward=['Edward Gumby',42]
    >>>john=['John Smith',50]
    >>>database=[edward,john]
    >>>database
    [['Edward Gumby',42],['John Smith',50]]

            容器

    1 序列---2 映射(字典)----3 集合(set):既不是序列也不是映射的容器类型
    序列每个元素都有自己的编号,映射每个元素都有自己的名字(键)

    ---------通用的序列操作-----------

    1 索引 indexing
    >>>greeting[-1]
    'g'
    >>>fourth=raw_input('Year:')[3]
    Year:2005
    >>>fourth
    '5'
    
    2 分片 sliceing
    访问一定范围内的元素
    >>>tag='<a href="http://www.python.org">Python web site</a>'
    >>>tag[9:30]
    'http://www.python.org'
    >>>tag[32:-4]
    'python web site'
    注意取的范围是 [m:n)
    
    >>>numbers=[1,2,3,4,5,6,7,8,9,10]
    >>>numbers[7:10]
    [8,9,10]
    现在,索引10指向第11个元素,这个元素不存在其实
    >>>numbers[-3:0]
    >>>[] 空序列
    >>>numbers[-3:] ------捷径
    [8,9,10]
    >>>numbers[:3]
    [1,2,3]
    注意这是复制
    >>>numbers[:]
    [1,2,3,4,5,6,7,8,9,10]
     
    
    步长(step length)
    >>>numbers[0:10:-2]
    [1,3,5,7,9]
    >>>numbers[8:3:-1]
    [9,8,7,6,5] --------------------[8:3)依然奏效
    
    序列相加
    >>>[1,2,3]+[4,5,6]
    [1,2,3,4,5,6]
    >>>[1,2,3]+'world' ---ERR
    结论:两种相同类型的序列才能进行连接操作
    
    乘法
    >>>'python'*5
    'pythonpythonpythonpythonpython' -----字符串也是序列
    None
    >>>sequence=[None]*10--------初始化一个长度为10的列表
    >>> range(1,5) #代表从1到5(不包含5)
    [1, 2, 3, 4]
    >>> range(1,5,2) #代表从1到5,间隔2(不包含5)
    [1, 3]
    >>> range(5) #代表从0到5(不包含5)
    [0, 1, 2, 3, 4]
    
    再看看list的操作:
    ?
    array = [1, 2, 5, 3, 6, 8, 4]
    #其实这里的顺序标识是
    [1, 2, 5, 3, 6, 8, 4]
    (0123456)
    (-7,-6,-5,-4,-3,-2,-1)
     
    >>> array[0:] #列出0以后的
    [1, 2, 5, 3, 6, 8, 4]
    >>> array[1:] #列出1以后的
    [2, 5, 3, 6, 8, 4]
    >>> array[:-1] #列出-1之前的
    [1, 2, 5, 3, 6, 8]
    >>> array[3:-3] #列出3到-3之间的
    [3]
    
     
    
    那么两个[::]会是什么那?
    ?
    >>> array[::2]
    [1, 5, 6, 4]
    >>> array[2::]
    [5, 3, 6, 8, 4]
    >>> array[::3]
    [1, 3, 4]
    >>> array[::4]
    [1, 6]
    如果想让他们颠倒形成reverse函数的效果
    >>> array[::-1]
    [4, 8, 6, 3, 5, 2, 1]
    >>> array[::-2]
    [4, 6, 5, 1]



  • 相关阅读:
    Timestamp,Date和String的互相转换
    从网址截取域名
    $.ajax()方法详解
    JS正则表达式详解
    List、Set、Map集合的遍历方法
    spring-security2配置精讲(转载)
    spring-security原理学习
    spring-security配置和原理简介
    三步法搞定CTF中的SQL注入题型
    两个局域网(办公网-IDC)安全互通方案2:by GRE and linux server&深入理解GRE
  • 原文地址:https://www.cnblogs.com/i80386/p/2238202.html
Copyright © 2011-2022 走看看