Python基础教程(二)

  • Python包含6中内建序列:列表元组,字符串,Unicode字符串,buffer对象和xrange对象。

    列表和元组的主要区别:列表可以修改,如果根据要求添加元素,列表更合适;元组不能修改,在序列不能修改时,使用元组则更为合适

         ed= ['Edward', 4]
         jo=['John', 5]
         database=[ed, jo]   # 输出为 [ ['Edward', 4], ['John', 5]]
    

通用操作

  • 索引:greeting='Hello'; greeting[0]; greeting[-1]

  • 分片:第1个索引是要提取的第一个元素编号,最后的索引分片后第1个元素的编号

          number[3:6]     #结果为3,4,5                                                                                                                                                                     
          number[7,10]    #结果为7,8,9,其中索引号10不存在,但用表示结尾 
          number[-1,-3]   #从结尾反向输出
          number[ -1:]    #从结尾反向输出到起始点
          number[1:10:2]  #步长为2
    
  • 序列相加:只有相同类型的序列才能进行连接操作

          [1, 2, 3] + "World!"    #非法  
    
  • 乘法:序列重复N次

    空列表初始化:用None表示什么都没有 sequence=[None]*10

  • 成员资格:检查一个值是否这序列中,使用in运算符,返回True或False

          users=['mlh', 'foo', 'bar']
          'bar' in users
    
  • 长度,最小值和最大值:len(),min()和max()

列表

  • list函数:根据不同类型表达创建列表,适用于所有类型的序列

          list('Hello')     #结果为['H', 'e', 'l', 'l', 'o']
    
  • 改变列表:元素赋值 x[1]=2

  • 删除元素 del x[2]

  • 分片赋值:

          `name[2:]=list('ar')`       #替换
          `numbers[1:1]=[2, 3, 4]`    #插入
          `numbers[1:4]=[ ]`          #删除
    

列表方法

  • 方法:是一个与某些对象有紧密联系的函数,对象可能是列表,数字或字符串。调用形式:对象.方法(参数)

  • append: 用于在列表末尾追加新对象,其是直接修改原来的列表,而不是返回一个修改过的新列表 object.append(4)

  • count:统计某个元素在列表中出现的次数

  • extend:在列表的末尾一次性追加另一个序列的多个值,用新列表拓展原有列表

          a=[1,2,3]
          b=[4,5,6]
          a.extend(b)
    
  • index:用于从列表中找出某个值第一个匹配项的索引位置

          nights=['we', 'are', 'man']
          nights.index('we')      #返回0
    
  • insert:将对象插入到列表中 numbers.insert(3, 'four')numbers[3:3]=['four']

  • pop:移除列表中的一个元素(默认最后一个)

          x.pop()     #移除列表中的一个元素
          x.pop(0)    #移除第一个
    
  • remove:移除列表中某个值的第一个匹配项 x.remove['be']

  • reverse:将列表中的元素反向存放 x.reverse()list(reversed(x))

  • sort:在原位置对列表进行排序,缺省默认升序排列

          y=x     #无用,只是将x和y都指向同一个列表,x和y同时改变
          y=x[:]  #将x所有元素都赋给y
    
  • 高级排序:将参数cmp,key与reverse输入到sort()

          numbers.sort(cmp);
          x.sort(key=len);
          x.sort(reverse=True);
    

元组

元组与列表奕扬,也是一种序列。唯一不同的是元组不能修改,字符串也不能修改。用逗号分割一些值,则自动创建了元组。 1, 2, 3返回(1, 2, 3)。一个值的元组 42,返回(42, )

  • tuple函数:与list函数基本一致,以一个序列作为参数,并把它作为转换为元组

          tuple([1, 2, 3])    #返回(1, 2, 3)
    
  • 元组的基本操作,除了创建元组和访问元组元素之外,操作基本与序列相同

  • 元组可以在映射中当做键使用,而列表则不行;元组作为很多内建函数和方法的返回值存在

本章新函数

  • cmp(x, y) 比较两个值

  • len(seq) 返回序列的长度

  • list(seq) 把序列转换成列表

  • max(args) 返回序列或者参数集合中的最大值

  • min(args) 返回序列或者参数集合中的最小值

  • reversed(seq) 对序列进行反向迭代

  • sorted(seq) 返回已排序的包含seq所有元素的列表

  • tuple(seq) 把元素转换成元组