Python 编程 | 连载 08 - 列表与元组操作
Python,编程,连载,08,列表,元组,操作
2025-03-13 21:27:20 时间
“Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。”
一、列表 List 与 元组 Tuple 操作
sort 函数
sort 函数的功能是可以对当前列表按照一定的归类进行排序,该函数有两个参数需要传入,其中一个可以不传,另外一个时排序规则 reverse=Tue 或者 False,默认是 False 既按照升序排列,True 则是按照降序排列
sort 对列表进行排序要求列表中的元素必须为相同类型,否则无法排序
list_str = ['2051', '2022', 1, [1, 2, 3]]
print('排序前的列表顺序:{}'.format(list_str))
list_str.sort()
print('排序后的列表顺序:{}'.format(list_str))
list_str = ['2051', '2022', '2040', '2050']
print('排序前的列表顺序:{}'.format(list_str))
list_str.sort()
print('排序后的列表顺序:{}'.format(list_str))
list_str = ['2051', '2022', '2040', '2050']
print('排序前的列表顺序:{}'.format(list_str))
list_str.sort(reverse=True)
print('排序后的列表顺序:{}'.format(list_str))
sort函数传入参数reverse=True时按照降序排列
clear 函数
clear函数可以将当前列表中的数据清空,无须传递参数也没有返回值
list_str = ['2051', '2022', '2040', '2050']
print('clear前的列:{}'.format(list_str))
list_str.clear()
print('clear后的列表:{}'.format(list_str))
copy 函数
copy函数将当前的列表赋值一份相同的列表,新列表的内容与旧列表的内容相同,但是内存地址不同;copy函数无须传入参数;返回一个相同的列表
copy函数与二次赋值的区别:
- 二次赋值与原变量的内存地址相同
- copy返回的列表内存地址与原列表不同
- copy返回的列表与原列表是两个列表,修改一个列表的内容对另一个列表不会有任何影响,二次赋值由于两个变量指向的都是同一块内存,所有修改数据会对两个变量都有影响
- copy属于浅拷贝
浅拷贝
,有一个列表a,列表中的元素还是列表,当拷贝出新列表b后,无论是a还是b的内部的列表中的数据发生了变化后,相互之间都会收到影响
list_01 = [
['stark', 'peter'],
['banner', 'steve'],
[1, 5, 8, 9]
]
list_01_copy = list_01.copy()
print(list_01_copy)
# 修改列表中的元素
list_01[0].append('clint')
print(list_01_copy)
修改只有第一层数据不会收到影响,嵌套的列表则会受到影响
深拷贝不仅对第一层数据记性了拷贝,同时也对深层的数据进行了拷贝,原始变量和新变量完全是两个变量,修改不会互相影响。
import copy
list_01 = [
['stark', 'peter'],
['banner', 'steve'],
[1, 5, 8, 9]
]
# 深拷贝
list_01_deepcopy = copy.deepcopy(list_01)
print(list_01_deepcopy)
# 修改列表中的元素
list_01[0].append('clint')
print(list_01_deepcopy)
print('list_01的内存地址为:{}'.format(id(list_01)))
print('list_01_deep_copy的内存地址为:{}'.format(id(list_01_deepcopy)))
深拷贝需要导入copy模块,调用deepcopy函数完成,调用深拷贝返回的列表是一个新的列表,内存地址不同。
extend 函数
extend函数是将其他列表或者元组中的元素
导入到当前列表中,接收一个可迭代的数据类型作为参数如列表元组字典字符串等,该函数无返回值
heros = ['stark']
hero = ['thor', 'loki', 'banner' ]
heros.extend(hero)
print(heros)
heros.extend(('peter', 'strange'))
print(heros)
heros.extend('hello')
print(heros)
heros.extend({'name': 'pipi'})
print(heros)
传入字典时,只会将Value加入列表中。
heros = ['stark']
heros.extend(None)
传入int整型
heros = ['stark']
heros.extend(12)
print(heros)
传入bool类型
heros = ['stark']
heros.extend(True)
print(heros)
pop 函数
pop 函数可以通过索引删除索引对应的元素,并返回该元素,如果传入的索引不存在则会报错
list_str = ['stark', 'peter', 'banner', 'clint', 'thor']
pop_item = list_str.pop(3)
print('删除的元素为:', pop_item)
pop_item_nonexist = list_str.pop(10)
print(pop_item_nonexist)
del 函数
del 函数可以通过索引删除元素,与pop函数的区别是del函数无返回
list_str = ['stark', 'peter', 'banner', 'clint', 'thor']
del list_str[3]
print(list_str)
del list_str[10]
print(list_str)
相关文章
- Python Flask 编程 | 连载 07 - Jinja2 语法
- Python 编程 | 连载 17 - 高阶函数与装饰器
- Python 编程 | 连载 01 - Python 的标识符
- Python 编程 | 连载 22 - logging 与 random 模块
- Python Flask 编程 | 连载 03 - Flask 请求
- pycharm怎么配置python环境anaconda_ug编程电脑配置要求
- Python 编程骚操作连载(一)- 字符串、列表、字典和集合的处理(Part A)
- Python 编程骚操作连载(二)- 类与对象
- PyCharm下使用 ipython 交互式编程「建议收藏」
- Python 编程 | 连载 13 - Python 的流程控制
- Python 编程 | 连载 16 - 类的特性
- 常用Python库_编程代码大全
- macbookpro安装anaconda_mac下python编程软件
- Python 编程 | 连载 10 - 字典及操作
- Python 编程 | 连载 08 - 列表与元组操作
- Python 编程 | 连载 02 - 数字与字符串
- Python 编程 | 连载 24 - 正则表达式
- Python 编程 | 连载 15 - Python 的类
- Python 编程 | 连载 19 - Package 和 Module
- Python基础22-并发编程