• 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]



  • 相关阅读:
    cpp学习
    7-2 求逆序对数目 (20分) 归并排序 O(nlogn)
    Egret 滚动背景图的实现
    Egret-我的疑问:Scroller如何禁止水平或垂直方向滚动
    Egret-我的探索:exml自定义组件中通过ID获取子组件实例
    Egret-我的疑问:自定义组件加载skin的操作
    Egret事件冒泡的应用
    Egret点击穿透(使遮盖可点击组件的其他组件禁止点击)
    Egret wing 4.1.6项目目录结构
    Egret分步加载资源改写loading界面
  • 原文地址:https://www.cnblogs.com/i80386/p/2238202.html
Copyright © 2020-2023  润新知