Python列表常用的几个函数用法是怎样

Admin 2022-05-21 群英技术资� 149 次浏�

这篇文章主要讲解了“Python列表常用的几个函数用法是怎样”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧�

介绍 

append()

语法

list.append( element )

参数

element:任何类型的元素

列表「末尾」添加元�

name_list = ['zhangsan', 'lisi', 'wangwu']
name_list.append('zhaoliu')
print(name_list)

输出�

['zhangsan', 'lisi', 'wangwu', 'zhaoliu']

列表末尾可添� 「任意类型」数据,比如在列表中添加列表

name_list = ['zhangsan', 'lisi', 'wangwu']
name_list.append([1,2,3])
print(name_list)

输出�

['zhangsan', 'lisi', 'wangwu', [1, 2, 3]]

append() 函数添加的是「地址」,当被添加的列表发生变化时,添加后的列表也� 「同步变化�

list1 = ['zhangsan']
a = [1,2,3]
list1.append(a)  # 列表list1添加列表a
print(list1)
a.append(4)  # 列表a发生变化
list1.append(a)
print(list1)  # 列表list1也会同步变化

输出�

['zhangsan', [1, 2, 3]]

['zhangsan', [1, 2, 3, 4], [1, 2, 3, 4]]

补充两个概念�

  • 浅拷贝:拷贝这个对象的引�
  • 深拷贝:拷贝对象的内�

「深拷贝」可解决 append() 函数添加列表的同步问�

list1 = ['zhangsan']
a = [1,2,3]
list1.append(copy.deepcopy(a))  # 深拷贝列表a
print(list1)
a.append(4)  # 列表a发生变化
list1.append(copy.deepcopy(a))  # 深拷贝列表a
print(list1)  # 列表list1不再同步变化

输出�

['zhangsan', [1, 2, 3]]

['zhangsan', [1, 2, 3], [1, 2, 3, 4]]

append() 函数� extend() 函数的区�

1.append() 添加的是元素「引用」,� extend() 添加的是元素的「值�

2.append() 可以添加「任意类型」元素,� extend() 只能添加「序列�

比如,添加列表时� append() 会添加整个列表,� extend() 只会添加列表中的�

list1 = ['zhangsan', 'lisi', 'wangwu']
list2 = ['zhangsan', 'lisi', 'wangwu']
list1.append([1,2,3])
print('append添加整个列表�', list1)
list2.extend([1,2,3])
print('extend添加列表的值:', list2)

输出�

append添加整个列表� ['zhangsan', 'lisi', 'wangwu', [1, 2, 3]]

extend添加列表的值: ['zhangsan', 'lisi', 'wangwu', 1, 2, 3]

extend()

语法

list.extend(iterable)

参数

iterable:任何可迭代对象(列表、元祖等�

向列� 「末尾」添加列表内�

list1 = ['zhangsan', 'lisi', 'wangwu']
list1.extend([1,2,3])  # 列表末尾添加列表
print(list1)
list1.extend((4,5,6))  # 列表末尾添加元祖
print(list1)

输出�

['zhangsan', 'lisi', 'wangwu', 1, 2, 3]

['zhangsan', 'lisi', 'wangwu', 1, 2, 3, 4, 5, 6]

Python中的 「字符串」本质上也是一种数组,属于可迭代对象,可以使用 extend() 添加

list1 = ['zhangsan', 'lisi', 'wangwu']
list1.extend('abc')  # 列表末尾添加字符�
print(list1)

输出�

['zhangsan', 'lisi', 'wangwu', 'a', 'b', 'c']

insert()

语法

list.insert( index, element)

参数

  • index:数字,指定插入的位�
  • element:任意类型,需要插入的元素

insert() 函数可以添加「任意类型�

list1 = ['zhangsan', 'lisi']
list1.insert(2, 2)  # 添加整形
print(list1)
list1.insert(3, 'str')  # 添加字符�
print(list1)
list1.insert(4, [1,2,3])  # 添加列表
print(list1)
list1.insert(5, (4,5,6))  # 添加字典
print(list1)

输出�

['zhangsan', 'lisi', 2]

['zhangsan', 'lisi', 2, 'str']

['zhangsan', 'lisi', 2, 'str', [1, 2, 3]]

['zhangsan', 'lisi', 2, 'str', [1, 2, 3], (4, 5, 6)]

insert同样存在 「列表同步」问题,改为 「软拷贝」即�

list1 = ['zhangsan', 'lisi']
a = [1,2,3]
list1.insert(2, a)  # 添加列表a
print(list1)
a.append(4)  # 列表a发生变化
print(list1)  # 列表同步发生变化

输出�

['zhangsan', 'lisi', [1, 2, 3]]

['zhangsan', 'lisi', [1, 2, 3, 4]]

pop()

语法

list.pop( index )

参数

  • index:数字,需要删除的索引位置,默认�-1
  • 返回值:删除的�

不传参数时,默认删除「最后」一个�

list1 = [1, 2, 3, 4]
list1.pop()  
print(list1)

输出�

[1, 2, 3]

删除 「指定」位置的元素

list1 = [1, 2, 3, 4]
list1.pop(1)  # 删除第二个�
print(list1)

输出�

[1, 3, 4]

「返回」被删除的元�

list1 = [1, 2, 3, 4]
a = list1.pop(1)  # 删除第二个值,并返回被删除的�
print(a)

输出:

2

remove()

语法

list.remove( element )

参数

element:任意数据类�

remove() 函数删除「普通类型」元�

list1 = ['zhangsan', 'lisi', 1, 2]
list1.remove(1)  # 删除数字
print(list1)
list1.remove('zhangsan')  # 删除字符�
print(list1)

输出�

['zhangsan', 'lisi', 2]

['lisi', 2]

remove() 函数删除 「对象类型」元�

list1 = [1, 2, [3, 4], (5, 6)]
a = [3, 4]
b = (5, 6)
list1.remove(a)  # 删除列表类型
print(list1)
list1.remove(b)  # 删除元祖类型
print(list1)

输出�

[1, 2, (5, 6)]

[1, 2]

remove() 函数删除对象类型的「前提」是,列表中的元素是对象类型,以下这种方式会报错

list1 = [1, 2, 3, 4, 5]
list1.remove([1,2])

输出�

Traceback (most recent call last):

  File "E:/data/PrCharm/test1/55.py", line 2, in <module>

    list1.remove([1,2])

ValueError: list.remove(x): x not in list

# 值错误: 需要删除的值不在列表中

remove() 函数「一次」只能删除一维数组中的「一个」元素,自己删自己也不行

list1 = [1, 2, 3, 4, 5]
print('我自己在我自己里面吗�', list1 in list1)
list1.remove(list1)

输出�

Traceback (most recent call last):

  File "E:/data/PrCharm/test1/55.py", line 3, in <module>

    list1.remove(list1)

ValueError: list.remove(x): x not in list

我自己在我自己里面吗� False


到此这篇关于“Python列表常用的几个函数用法是怎样”的文章就介绍到这了,更多相关Python列表常用的几个函数用法是怎样内容,欢迎关注群英网络技术资讯频道,小编将为大家输出更多高质量的实用文章� 群英智防CDN,智能加速解决方案
标签� python列表函数

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容�

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻�
7X24小时快速响�
一站式无忧技术支�
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 � 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部