python--数据结构列表

一、列表:列表是可变的,可以改变列表的内容,并且提供很多有用的,专门的方法。

       基本的列表操作:

        1、list函数:适用于所有类型的序列,根据序列创建列表。

        

        2、基本的列表操作:元素赋值。通过索引进行赋值。

        

        

        3、删除元素:del语句。

        

 

       4、分片赋值:

       

       name[2:]=list('ar'):使用['a','r']替换['r','l']。

 

     

    

   

   

 

   列表方法:对象.方法(参数)

   1、append方法:在列表末尾追加下的对象,通过直接修改了原来的列表。原列表将不复存在。无返回值。

   

   

   2、count方法:统计某个元素在列表中出现的次数,有返回值。

   

 

   3、extend方法:使用新列表扩展原有列表,修改了被扩展的序列。无返回值。

  

 

    4、index方法:从列表中找出某个值第一个匹配项的索引位置。有返回值。

   

 

     5、insert方法:用于将对象插入的列表中。无返回值。

     

 

     6、pop方法:移除列表中某个元素,默认移除最后的元素,也可以使用索引指定需移除的元素。有返回值。

          栈:后进先出。

      

    

       

     

      7、remove方法:移除列表中某个值的第一个匹配项。修改了原有列表,没有返回值。

      

 

     8、reverse方法:将列表中的元素反向存放,改变了列表,没有返回值。

     

 

     9、sort方法:在原位置对列表进行排序。改变了列表,没有返回值。

     

 

     如果我们需要一个排好序的列表副本,同时又保留原有列表不变的时候,该怎么办?

     

    这样是错误的,得到了已排序的x以及值为None的y,因为sort方法修改了x却返回了空值。

 

    正确的做法:需要将x的副本赋值给y,再对y进行排序。

    

 

    或者使用sorted函数:sorted函数可以用于任何序列,却总是返回一个列表。

    

 

      10、高级排序:

      compare(x,y)自定义比较函数,当x<y返回负数,当x>y返回整数,当x=y返回0。

     

 

     內建函数cmp提供了比较函数的默认实现方式。

     

   

     key:根据元素长度进行排序,使用len作为键函数:

    

 

    reverse:简单的布尔值,true或者false,指明列表是否需要反向排序。

    

 

    元组:不可变的序列,元组不能被修改。

    使用逗号分隔一些值,来创建元组。

    

    ():空元组,元组必须使用逗号隔开,否则不能创建元组。

 

    tuple函数:以一个序列作为参数并把它转换成元组。

    

 

    

 

posted @ 2017-07-03 14:23  四平八稳  阅读(178)  评论(0)    收藏  举报