当前位置: 首页 > news >正文

Python序列

列表对象常用方法

list.append(x)

list.extend(L)

list.insert(index,x)

list.remove(x)

list.pop([index])

list.clear()

list.index(x)

list.count(x)

list.reverse()

list.sort()

list.copy()

+运算符可以实现将元素添加到列表,形式是创建一个新列表,并将原列表中的元素和新元素依次复制到新列表的内存空间,速度较append慢

Python采用的是基于值的自动内存管理方式,当为对象修改值时,并不是真的直接修改变量的值,而是使变量指向新的值,这对所有类型的变量都是一样的

通过下标来修改序列中元素的值或通过可变序列对象自身提供的方法来增加和删除元素时,序列对象在内存中的起始地址是不变的,仅仅是被改变值的元素地址发生变化

通过extend()方法来增加列表元素也不改变其内存首地址,属于原地操作

除非必要,应尽量避免在列表中间位置插入和删除元素的操作,优先考虑append和pop

使用乘法来扩展列表对象,将列表与整数相乘,生成一个新列表,新列表是原列表中元素的重复

每当插入或删除一个元素之后,该元素位置后面所有元素的索引就都改变了

x = [1, 2, 1, 2, 1, 1, 1] for i in x[]: print(i) if i == 1: x.remove(i) print(x)
x = [1, 2, 1, 2, 1, 1, 1] for i in x[::]: print(i) if i == 1: x.remove(i) print(x)

可以使用下标直接访问列表中的元素

list1 = [1, 2, 3] list2 = ['a', 'b', 'c'] # 使用 zip 函数将两个列表打包 zipped = zip(list1, list2) # 将迭代器转换为列表,方便查看结果 result = list(zipped) print(result) # 输出: [(1, 'a'), (2, 'b'), (3, 'c')]

切片操作可以原地修改列表内容,列表元素的增、删、改、查以及元素替换等操作,并且不影响列表对象内存地址

切片返回列表元素的浅复制,与列表对象的直接赋值并不一样

内置函数sorted()返回新列表,并不对原列表进行任何修改

内置函数reversed()不对原列表做任何修改,而是返回一个逆序排列后的迭代对象

对字典进行操作时,默认是对字典的“键”进行计算,如果需要对字典“值”进行计算,则需要使用字典对象的values()方法明确说明

cmp

len

max

min

sum

zip

enumerate:返回枚举对象,枚举对象中每个元素是包含下标和元素值的元组

列表推导式

import random x = [random.randint(1, 100) for i in range(10)] print(x) print(list(map(lambda i: i + 5, x))) x = [random.randint(1, 10) for i in range(10)] y = [random.randint(1, 10) for i in range(10)] print(x, y) import operator print(sum(map(operator.mul, x, y))) print(sum((i * j for i, j in zip(x, y)))) print(list(map(operator.add, x, y)))

元组属于不可变序列,元组一旦创建,用任何方法都不可以修改其元素的值,也无法为元组增加或删除元素,如果确实需要修改,只能再创建一个新的元组。

可以使用tuple()函数将其他类型序列转换为元组

元组的值是不可改变的,但是如果元组中包含可变序列,情况就略有不同

序列解包

在调用函数时,在实参前面加上一个星号(*)也可以进行序列解包,从而实现将序列中的元素值依次传递给相同数量的形参

生成器推导式

未完待续

http://www.jsqmd.com/news/1235815/

相关文章:

  • 从零到一:如何用Vue.js思维轻松构建跨平台桌面应用
  • 跨境电商如何10秒搞定商品主图?StartAI插件V2文生图功能来帮忙
  • Java设计模式 简单工厂、方法工厂、抽象工厂之spring应用
  • 行业新讯|南宁品牌首饰回收新规落地:公安备案为硬性门槛,搭配CCIC双检核验,交易全程可溯源 - 二奢分享官
  • 如何在忙碌工作中悄无声息提升英语?ToastFish通知栏背单词神器解密
  • 零基础3步打造专业MDX词典:AutoMdxBuilder完全指南
  • Neovim-GTK高级功能探索:连字支持、多网格渲染与远程控制
  • 终极相机参数水印工具:5分钟学会为照片批量添加专业水印
  • 如何用OpenVoice快速克隆任何声音:从零开始的声音克隆完整指南
  • Blazor与Entity Framework实战指南:构建现代Web应用数据访问层
  • 2026年郑州新能源汽车续航衰减解决方案——电池均衡修复、容量校准与驾驶习惯优化,专业续航恢复机构推荐 - 资讯速览
  • 项目名称的AGENTS.md文件
  • 别踩 Hermes 部署大坑!90% 新手都会中招的 5 类故障一次性解决
  • 程序员凌晨三点还在改Bug?用这3个AI协同时序引擎,将交付周期从14天压至1.4天
  • 3个关键步骤:用DiskInfo硬盘健康监控工具快速诊断你的数据安全
  • 【WeChatExtension-ForMac】让你的Mac微信效率翻倍的终极插件[特殊字符]
  • 计算机小程序毕设实战-智慧校园线上选课服务小程序设计与实现 移动端大学生课程选修管理小程序【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • QuickPiperAudiobook开发者指南:代码架构与核心组件解析
  • 在线语音朗读器哪款适合文字工作者好用-2026实测整理出靠谱答案
  • OpenRun性能优化技巧:提升内部工具平台响应速度的10个方法
  • 大模型语音机器人API接入与对话流配置:从开发到上线的7个核心步骤
  • 【AI大模型】预训练数据:大模型训练数据的来源与处理
  • 5个突破性技巧:如何快速在Amlogic设备上部署高性能Armbian系统
  • PDF如何转换为Word文件?4种方法实测对比,从简单到复杂全搞定
  • 【AI生产力倍增实战手册】:用LLM+自动化重构你的每日工作链,实测效率提升217%(附审计级操作日志)
  • 河南嵩山少林小龙武校怎么样?学费、文武课程、教练师资全方位解析 - Luckyone王
  • Mac微信小助手终极指南:10大实用功能深度解析与安装教程
  • 业主真实口碑优选|长沙靠谱家装品牌分层解析 - 探词产品观测室
  • 零售旺季呼叫中心从200到2000坐席平滑扩容:3阶段实施方案
  • OpenCore Legacy Patcher:突破苹果硬件限制的逆向工程杰作