总的来说,Python中的序列有:字符串,列表,元组。 

 * 字符串和Java中String,C++中string是一样的。 

 ** 直接通过字符串字面量创建一个字符串或者工厂方法 str() 

     * str0 = 'I am a string.' 

     * str1 = "I am a string too." 

     * str3 = str(range(4)) 

 ** 字符串内容访问 

     * 通过下标访问 (Python没有字符的概念,通过下标得到的是长度为1的字符串 

       + str = 'I am a string.' 

str[index] 

str[index1:index2] 

str[index:] 从index到最后 

str[:index] 从开始到index(不写表示 开始 或者 结尾, 所以 str[:] == str) 

ps: 强调一下:正向索引,反正索引,默认索引 

 正向索引 从      0   -> len(str) - 1 

 反向索引 从 len(str) -> -1 

把正向索引和反向索引和数轴结合理解,并且顺序是从小到大。开始索引和结束索引可以超过范围的。 

       + 切片的高级用法,引入 步长 的概念 

- str = 'abcd' 

  new_str = str[::-1] # 可视 “翻转” 操作 

- str[::2]  # 隔一个取一个的操作 

     * 字符串删除,因为字符串是不可变的,所以只能做清空或者剔除不要部分在组成一个新的字符串 

         str = '' # 清空 

         del str  # 删除 

 ** 字符串比较 

     * 字符串比较是通过ASCII值的大小进行比较的 

 ** 字符串合并 

      * 通过 + 操作符 : str = str1 + str2 

        但是这个操作不是最快的.对于字符串,把所有子串放到列表或可迭代对象,然后调用join方法把所有内容连接,节约内存。 

        对于列表类型,使用extend()方法来把两个或者多个对象合并 







 ** 技巧 

      * 有一个字符串,我们想通过一个循环按照这样的形式显示它:每次都把位于最后的一个字符砍掉: 

            str = "abcde' 

            i = -1 

            for i in range(-1, -len(str), -1): 

                print s[:i] 

         这个方法并没有在第一次迭代的时候显示整个字符串。只能在循环之前加一个额外的print语句 

         因为以负数为索引的例子不能真正解决这个问题,因为 -1 已经是“最小的索引”了 

         技巧是:我们使用None作为索引值,这样以来就可以满足需求:在你想用一个变量作为索引来从第一个到遍历最后一个元素的时候: 

            str = "abcd" 

            for i in [None] + range(-1, -len(str), -1): 

                print s[:i] 

        可变对象的内建函数extend()没有返回值,所以行不懂。