python_list 之 基本操作

来源:互联网 发布:如何用网络电视连手机 编辑:程序博客网 时间:2024/05/14 19:50

List 是有序集合,类似c中的数组,

添加元素

对其添加元素一般有四种基本操作:

     1.append( )

     2.extend( )

     3.insert( )

     4. +

 

Ⅰ. append( )

     格式:list.append( 参数 )

     添加单个参数到list尾部,参数可以为任意数据类型

     特点为 整体添加,会保持原来的数据类型

    

     如上,list1.append(list2) 将list2 整体加入 list1 尾部,list1[2]即list2

 

Ⅱ. extend( )

     格式:list.extend( 参数 )

     将单个参数添加到 list 尾部 ,该参数数据类型一般是list (如果是元组,会被打散添加入list,如果是字典,则只会读入key)

    

由此可见,extend 是将 参数list2 中的每个元素打散后依个添加入list1

 

Ⅲ. Insert( )

     格式:insert(index,element)

     将一个元素插入到list中指定位置,包含两个参数index元素插入的位置element 元素本身

 

Ⅳ. +

     格式: list_1+list_2

     与上述三个操作不同的是,上述三个操作是直接对list本身进行修改,无返回值。+ 操作是生成一个全新的list对象。缺陷也就是会浪费空间。Attention: 少用 + 操作。

 

 

删除元素

     一般有三种操作:

1.  List.Remove( 参数  )

2.  List.pop( 参数 )

3.  Del( 参数 )

 

Ⅰ. Remove()

     格式:List.Remove( 参数 )

     参数为具体的值,删除list中第一个与参数值相等的元素

    

     Attention:remove()使用索引进行删除可能出错!


Ⅱ. Pop()

     格式:list.pop( index )

     参数为 list 中 对应要删除的元素的 索引,若无参数,则默认删除最后一个元素(类似 STL_栈)。

     Pop()有返回值,返回值为被删除的元素

    

Ⅲ. Del( )

     格式:del(参数

     参数为 list中的元素,用index表示

    

 

添加与删除总结:

①  删除list中的一个元素后,后续元素后立刻补缺,index随之变化,所以存在一个遍历删除时的安全性问题:

如图所示,想要遍历删除a中的所有元素,结果发现只删除了1,3,剩下2没有被删除,这就是因为在remove( 1 )后,后续元素补缺,而for循环中的index则往后继续推进(+1),可是a本身长度却减少了(-1),所以安全靠谱的遍历删除code如下:

②  Append()+pop()即可模拟C++中的入栈出栈操作

③  Append()+pop(0)即可模拟C++中的 队列

 

常用list操作函数

1.  min()返回list最小元素

2.  max()返回list最大元素

3.  len()返回list元素个数

4.  cmp()比较两个列表,返回值有1(>),-1(<),0(=)

a)   如果元素类型相同,则比较值,返回结果

b)   如果元素类型相同,则强制转化:

                        i.         如果是不同类型的数字,执行数字类型转化后比较

                      ii.         如果有一方是数字,则数字的权值最小,小于list,tuple,dictionary

                     iii.         如果都不是数字,按类型名字的字母顺序进行比较

c)如果相等则判断下一个元素,若完全相同则返回0,若前面都相同,但有一个list已到达列尾,则该list 小。

5. list.count(参数 ) 返回某元素在list出现的次数

6. list.reserve(list名 ) 将list反转,无返回值

7. list.index( 参数 ) 返回list中的第一个出现参数的索引位置

8. list.sort( [function] ) 将list中元素按照function进行排序(后续将详细学习)

 

0 0
原创粉丝点击