python中的list

python中的list

用法

1、定义和获取

字面意思就是一个集合(有序、有界)。在Python中List中的元素用中括号[]来表示,可以这样定义一个List:

定义一个List:

    #定义一个空的List:
    L1 = []
    #定义一个List:
    L2 = [12, 'China', 19.998]
    print(L1)
    #访问元素通过序号,一样是下标从0开始
    print(L2[0])
    #List也可以倒序访问,通过“倒数第x个”这样的下标来表示序号
    #比如 - 1这个下标就表示倒数第一个元素:
    print(L2[-1])

结果:
在这里插入图片描述
越界会报错:

    #正序越界
    print(L2[3])
    #逆序越界
    print(L2[-4])

结果:
正序越界逆序越界
分片
分片:L4[0:2]
复制:L5*3
列表分片就是指将列表里面的一些列元素(不仅仅是某一个元素)进行获取或者得到

代码:

    print(L4)
    #Temp=m[A:B] %表示将m列表里从索引号位置为A开始的元素到B-1处元素之间的列表获取赋给temp.
    L5=L4[0:2]
    print(L5)

结果:
在这里插入图片描述

2、添加

元素添加:

    #append(b)添加到尾部
    L2.append('b')
    print(L2)
    #insert()方法添加到指定位置(下标从0开始
    L2.insert(1, 'good')
    print(L2)

结果:
在这里插入图片描述
列表加和:

	print(L2)
#新建列表3,下面会用列表2和列表3进行加合操作
    L3=['ad1','ad2']
    print(L3)
#extend向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加
    L2.extend(L3)
    print(L2)
#append向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加
    L2.append(L3)
    print(L2)
#+直接用+号看上去与用extend一样的效果,但是实际上是生成了一个新的列表存这两个列表的和,只能用在两个列表相加上
    L4=L2+L3
    print(L4)

结果:
在这里插入图片描述
复制:
L5*3:L5列表复制3次
代码:

    print(L5)
    #*:主要实现的是列表的复制和添加
    L6=L5*3
    print(L6)

结果:
在这里插入图片描述

3、删除

(1)pop()
删除最后尾部元素,也可以指定一参数删除指定位置,可以返回对应元素
(2)remove()
remove()的作用是移除掉列表m里面的特定元素;
(3)del m[n]
删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种操作语句

pop()代码:

    print(L4)
    #pop删除最后尾部元素,也可以指定一参数删除指定位置,可以返回对应元素
    L4.pop()
    print(L4)
    c=L4.pop(0)
    print(L4)
    print(c)

结果:
在这里插入图片描述

remove() 和 del m[n] 代码:

    print(L4)
    #remove的作用是移除掉列表m里面的特定元素
    L4.remove('ad1')
    print(L4)
    #del m[n]删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种操作语句
    del L4[0]
    print(L4)

结果:
在这里插入图片描述

4、其他

比较:> <

   

次数:
m.count(A):输出元素A在列表m里面出现的次数

索引位置号:
m.index(A):输出元素A在列表m里面的索引位置号

m.index(A,a,b):对于列表m里面包含多个元素A时,输出在列表m索引号a-b之间的特定索引号

翻转:
m.reverse():将列表m进行前后的翻转,前变后,后变前

排序:

m.sort():将列表m里面地数据进行从小到大的排列 m.sort(reverse=True):将列表m里面地数据进行从大到小的排列
其实对于列表m里面的元素进行从大到小的排列还可以用以下方法:
N=m.sort()
N.reverse()

5、深拷贝与浅拷贝

1) 深拷贝:

M=[A,b,a,c]

N=M[:]

2) 浅拷贝:

N=M

有人说可以直接将M赋值给N也是一样的,虽然表面看起来两者的实现效果是一样的,但是如果你要继续对N进行操作的时候就会出现问题,因为对于正确的第一种拷贝复制,它的作用是将列表M复制下来给N,如果后面对M进行操作,它对于N是完全没有影响的,而我们如果采用赋值的方式,那么在后面对M操作以后就会影响到N,N的值也会随之改变。
综上所述,第一种python列表的拷贝方法才是真正意义上的深拷贝,而赋值操作只是一种暂时的等量代换,它属于一种浅拷贝。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值