• 3.Python基础 序列sequence


    本文是学习Vamei写的博客写的,权当自己的笔记和复习一遍,看Vamei前辈写的估计会更清楚一些,他的博客地址:

    http://www.cnblogs.com/vamei/archive/2012/05/28/2522677.html

    sequece翻译就叫序列,像数组一样可以储存多个元素同样可以为空,但是不同的是它可以存储不同类型的元素,序列中也可以包含一到多个序列,序列中也可以序列和单个元素共存。像cocos2dx中有动作序列也是sequece可以存储多个不同的动作。

    序列分为两种tuple(可以译做元组)和list(表),tutle取出的单个元素是不能修改的,而list是能修改的。请看下面的程序:

    >>> s1 = (1, 2.3, "love me", True, 34)    #tuple序列
    >>> print (s1, type(s1))
    (1, 2.3, 'love me', True, 34) <class 'tuple'>
    >>> s2 = [4, "everyone", 5.6, False, 'Hi']    #list序列
    >>> print (s2, type(s2))
    [4, 'everyone', 5.6, False, 'Hi'] <class 'list'>
    >>> s3 = (s1, s2, 'Computer', 'cocos')    #含有多个序列的tuple序列
    >>> print (s3, type(s3))
    ((1, 2.3, 'love me', True, 34), [4, 'everyone', 5.6, False, 'Hi'], 'Computer', 'cocos') <class 'tuple'>
    >>> s4 = [s1, 'Phone', "tea"]    #含有多个序列的list序列
    >>> print (s4, type(s4))
    [(1, 2.3, 'love me', True, 34), 'Phone', 'tea'] <class 'list'>
    >>> s1[0] = 2    #tuple序列单个元素不可以修改,但是整体可以赋值
    Traceback (most recent call last):
      File "<pyshell#59>", line 1, in <module>
        s1[0] = 2
    TypeError: 'tuple' object does not support item assignment
    >>> s2[1] = 5    #list序列单个元素可以修改
    >>> print (s2)
    [4, 5, 5.6, False, 'Hi']
    >>> print (s1[2][1])    #序列就像数组一样可以通过下标访问,而且字符串也像序列一样可以通过下标访问
    o
    >>> print (s3[0][2][2])
    v
    >>> print (s1[:2])    #引用方法,取0-1的值,不包含下标2的值
    (1, 2.3)
    >>> print (s1[1:4])    #取1-3的值,不包含下标4的值
    (2.3, 'love me', True)
    >>> print (s1[0:])    #取序列中所有的值
    (1, 2.3, 'love me', True, 34)
    >>> print (s1[2:0:-1])    #取1-2的值
    ('love me', 2.3)
    >>> print (s1[-1])    #取倒数第一个的值
    34
    >>> print (s1[0:-2])    #相当于-2为下标倒数第二个的小标
    (1, 2.3, 'love me')
    >>> print (s1[0:-1])
    (1, 2.3, 'love me', True)
    >>> print (s1[0:0])
    ()
    >>> str = "hello python"    #数组也相当于一个序列,str是一个关键字也能当变量名使用,float也能,就和c等语言有区别了
    >>> print (str)
    hello python
    >>> str[1] = 'o'    #而且str像一个tuple序列,单个元素不能修改,也像c语言中字符串字面值不能修改
    Traceback (most recent call last):
      File "<pyshell#78>", line 1, in <module>
        str[1] = 'o'
    TypeError: 'str' object does not support item assignment
    >>> print (str[1])
    e
    >>> print (type(str))
    <class 'str'>
    >>> s1 = (2, 3)    #整体可以修改
    >>> print (s1)
    (2, 3)
    >>> str = '0123'  #整体可以修改
    >>> print (str)
    0123
    >>> 
    


  • 相关阅读:
    QAbstractItemModel使用样例与解析(Model::index使用了createIndex,它会被销毁吗?被销毁了,因为栈对象出了括号就会被销毁)
    更多的人为了追求自己真正热爱的事,甚至会在职业生涯刚开始时拒绝许多高薪工作,这样的人最终都成了真正的赢家。
    MYSQL分库分表之sharding-jdbc第四篇
    MYSQL分库分表之 Sharding-JDBC第三篇
    MySQL分库分表之Sharding-JDBC第二篇
    MySQL分库分表之Sharding-JDBC第一篇
    增加复杂度的12危险信号
    ASP.NET-Core-Web-API-Best-Practices-Guide
    聚合
    浏览器输入www.baidu.com后干啥了-web性能优化指南
  • 原文地址:https://www.cnblogs.com/v-BigdoG-v/p/7398649.html
Copyright © 2020-2023  润新知