Python列表常用的几个函数用法是怎样
Admin 2022-05-21 群英技术资讯 632 次浏览
语法
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]
语法
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']
语法
list.insert( 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]]
语法
list.pop( index )
参数
不传参数时,默认删除「最后」一个值
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
语法
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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可
在我们执行python程序的时候,经常会遇到一个函数因为各种原因,程序进入了停止状态,或者卡死那里,这时候我们可以预估函数的执行时间,然后给函数设置一个最大执行时间,当超过这个执行时间的时候,函数会自动终止
我们经常在使用python中的过程中要对列表进行遍历操作,其实作为python中必不可少的字典也需要遍历。python为字典类型内置了values()方法,以列表形式返回字典中的所有值,该方法会将字典里的值遍历出来。
这篇文章主要介绍了python实现sql布尔盲注的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了Django使用mysqlclient服务连接并写入数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008