python 笔记3 列表

本文详细介绍了Python中列表的基本概念及各种操作方法,包括元素的添加、删除、查找、排序等,并对比了append与extend的区别,深入浅出地解析了列表的切片、拷贝等高级特性。

        列表在python里面可以理解成超级数组:可以存放多种类型的变量,eg:x=[1,2,3];x=[1,'qiang ge'];x=[1,'qiang ge',['刘董','亮仔']] ----->x[0]=1,x[2]='qiang ge',x[3]=['刘董','亮仔']。

有关列表操作的常见BIF:

        append:x.append(a)------>把元素a加入到列表x的末端;a也可以是一个列表,但是使用append后在存放在x中的                         为一个元素,eg:

             x=[1,'qiang ge',['刘董','亮仔']]
<span style="white-space:pre">	</span>     y=['come on','强哥']
<span style="white-space:pre">	</span>     x.append(y)=[1,'qiang ge',['刘董','亮仔'],['come on','强哥']]
        所以得到的列表长度:len(x)=4,  x[3]=['come on','强哥']


        extend:x.extend(y)----->把一个列表y加入到列表x中,y中可以包涵多个元素。eg:

             x=[1,'qiang ge',['刘董','亮仔']]
	     y=['come on','强哥']
	     x.extend(y)=[1,'qiang ge',['刘董','亮仔'],'come on','强哥']
         此时得到的列表长度:len(x)=5,   x[3]='come on', x[4]='强哥'          

       inert:  x.insert(position,a)---->把元素a插入到列表x的第position位置:position是位置索引,从0开始;eg:

            x=[1,'qiang ge',['刘董','亮仔']]
<span>	</span>    y=['come on','强哥']
<span>	</span>    x.insert(y)=[['come on','强哥'],1,'qiang ge',['刘董','亮仔']]

         注:当用for循环输出打印列表元素的时候:
for i in x:
     print(i,end=' ')

      i即为元素,i in x指的是 x中的元素i(这与c语言中的数组下标不同)


列表中获取元素:

          1、列表中的元素交换,直接可以使用中间变量temp完成(和C语言一样)

        2、列表中删除元素:

              x.remove(a)------>删除列表x中的元素 a

              del x[index]------->删除列表x中索引为index的元素(del是语句操作(函数))    【索引从0开始】

              x.pop()----->将列表x的末元素删除且删除的末元素=x.pop()

              x.pop(index)---->删除x中索引为index的元素,且 被删元素delnum=x.pop(index)

        3、切片操作,取出列表中的一部分:

              x[0 : i]~x[: i]  ;  xx=x[i : j],   i j 均为索引

        4、获取列表当中的列表的元素:

              当x=[1,2, [ ‘刘董’, '亮仔' ] ,4,5],则:

                x[2]=[ ‘刘董’, '亮仔' ]; x[2][1]='亮仔'


列表操作符:

          1、列表相加:list1+list2~列表的extend

          2、列表重复:list=[1,2]  则 list*3=[1,2,1,2,1,2]

          3 、in 操作符:x=[1,2, [ ‘刘董’, '亮仔' ] ,4,5]

                                   4 in x----->True ;    '刘董' in x ----->False    '刘董' in x[2] ----->True

                即判定列表中的列表的元素是否位于大列表中,需要嵌套

         关于列表的一些BIF:

               x.count(a) ------>返回元素a在列表x中出现的次数

               x.index(a,m,n)---->返回元素a在列表中的索引,(m,n设置为选取的列表的首尾索引,默认为0-end)

              x.reverse()---->将列表x前后翻转

              x.sort() ---->将列表元素升序排序,x.sort(reverse=True)----->降序排列  

       注意:列表的拷贝问题: list1=[1,2,'qiang ge']

               当用 list2=list1[:] 时生成了一个新的列表list2,对list1进行操作时,不会影响到list2

               当用 list2=list1 时,对list1操作后,list2也会跟着改变。   

       (因为python中的标量相当于标签,list1指向给列表分配好了的内存地址(id(list1)),list2=list1,相当于标签list2也指向该内存的地址,当对该列表进行操作时,只是内存的数据发生变化,地址不变,所以list2也跟随变化 ---一个列表分配一个内存地址)              

                y=x.copy() ----->复制列表x给y,相当于y=x[:]

    元组(tuple):

       

         元组的元素不能修改,python中元组的关键在于' ,',而非( )   (相对应的列表的关键在于:[ ].   )

                 eg :x=(1) ---->type(x)='int' ,        x=(1,)----->type(x)='tuple'

                对于:tuple1=1,2,3------->创建的是一个三元素的一个元组   type(tuple1)='tuple'

         可以用在元组的常用操作符: 拼接、成员操作符(in 和 notin)

                  

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值