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

元组、列表、集合、字典和切片

列表(List)

列表是可变的有序序列,元素可重复,用方括号[]定义。支持增删改查操作。

案例

fruits = ["apple", "banana", "cherry"] fruits.append("orange") # 添加元素 fruits[1] = "kiwi" # 修改元素 print(fruits) # 输出: ['apple', 'kiwi', 'cherry', 'orange']

元组(Tuple)

元组是不可变的有序序列,元素可重复,用圆括号()定义。常用于固定数据。

案例

colors = ("red", "green", "blue") print(colors[0]) # 输出: red # colors[1] = "yellow" # 报错,元组不可修改

集合(Set)

集合是无序且元素唯一的容器,用大括号{}set()定义。支持交并差集操作。

案例

unique_nums = {1, 2, 3, 3, 2} unique_nums.add(4) # 添加元素 print(unique_nums) # 输出: {1, 2, 3, 4}(自动去重)

字典(Dictionary)

字典是键值对的无序集合,键必须唯一,用大括号{}dict()定义。

案例

student = {"name": "Alice", "age": 20} student["grade"] = "A" # 添加键值对 print(student["name"]) # 输出: Alice

切片的使用方法

切片是Python中用于从序列(如列表、字符串、元组等)中提取子序列的强大工具。以下是切片的基本语法和常见用法:

sequence[start:stop:step]
  • start:切片开始的位置(包含该位置元素)。
  • stop:切片结束的位置(不包含该位置元素)。
  • step:切片的步长(默认为1)。
示例代码
# 定义一个列表 my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 基本切片 print(my_list[2:5]) # 输出: [2, 3, 4] # 省略start(从开头开始) print(my_list[:5]) # 输出: [0, 1, 2, 3, 4] # 省略stop(到末尾结束) print(my_list[5:]) # 输出: [5, 6, 7, 8, 9] # 使用步长 print(my_list[1:8:2]) # 输出: [1, 3, 5, 7] # 负数索引(从末尾开始计数) print(my_list[-4:-1]) # 输出: [6, 7, 8] # 反向切片 print(my_list[::-1]) # 输出: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
字符串切片

切片同样适用于字符串:

my_string = "Hello, World!" # 提取子字符串 print(my_string[7:12]) # 输出: "World" # 反向切片 print(my_string[::-1]) # 输出: "!dlroW ,olleH"
元组切片

元组是不可变的,但切片操作会返回一个新的元组:

my_tuple = (0, 1, 2, 3, 4, 5) # 提取子元组 print(my_tuple[2:5]) # 输出: (2, 3, 4)
高级用法

切片可以用于复制序列或修改序列的子集:

# 复制列表 copied_list = my_list[:] print(copied_list) # 输出: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 修改子列表 my_list[2:5] = [20, 30, 40] print(my_list) # 输出: [0, 1, 20, 30, 40, 5, 6, 7, 8, 9]
输出结果

以下是上述代码片段的输出结果:

[2, 3, 4] [0, 1, 2, 3, 4] [5, 6, 7, 8, 9] [1, 3, 5, 7] [6, 7, 8] [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] "World" "!dlroW ,olleH" (2, 3, 4) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 20, 30, 40, 5, 6, 7, 8, 9]
http://www.jsqmd.com/news/722951/

相关文章:

  • 开源任务监控利器:Agent-Job-Monitor 架构解析与生产实践
  • 2026北航计算机学院保研硕士预推免面经
  • 2026年3月质量好的盛雷城代理厂家怎么选,低温漂高精密电阻/车规级精密电阻/荣誉代理,盛雷城代理品牌怎么选择 - 品牌推荐师
  • Docker运行Llama3/Phi-3等大模型:轻量级沙箱构建全流程(含内存压缩率提升3.2倍的memcg tuning参数)
  • 手把手教你用零代码平台完成多表关联与数据分流【保姆级教程】(图文详解)
  • 2026香薰盖/香水盖/化妆品盖/精油瓶盖定制哪家好? 高分子塞生产厂家实力深度解析 - 栗子测评
  • Linux操作系统与IO编程拟面试题
  • 基于Simulink的电池热管理系统(BTMS)多目标优化​
  • 别凭经验做备货:物流需求预测如何破解出海供应链误区
  • 专为视障人士设计的免费辅助工具
  • 2026年4月湛江及国内主流搬家公司费用合规性排行 - 优质品牌商家
  • CaTok:1D因果标记化在视觉任务中的创新应用
  • FC游戏红白机档案典藏版 FC红白机游戏合集整合包 PC电脑版一键畅玩
  • Go 语言从入门到进阶 | 第 13 章:数据库操作
  • SSH隧道与Tailscale实现AI代理远程运行时本地化连接
  • 机器人灵巧手抓取技术:挑战与DexGraspNet突破
  • Go分布式爬虫框架clawjob:架构解析与生产部署指南
  • 独家首发:R语言x LlamaIndex x LangChain偏见追踪中间件(bias-tracer v0.9.1),支持实时流式推理偏差热力图生成
  • C语言数据类型与变量
  • Driver Store Explorer:Windows系统驱动管理的终极解决方案
  • CtxPort:AI对话结构化剪贴板,一键导出Markdown
  • Android14 增加 property 记录系统当前前台应用的 packageName and className
  • 稀疏混合专家模型(MoE)负载均衡技术演进与实践
  • Sage智能体平台:从LLM到生产级自动化工作流的工程实践
  • 深圳本地特色美食推荐有哪些,去哪里吃比较正宗?
  • 2026可靠聚酯防爆箱优质厂家推荐榜 - 优质品牌商家
  • CaTok:1D因果图像标记化方法解析与应用
  • F-CoT技术:结构化提示优化大语言模型推理效率
  • DLSS Swapper终极指南:三步实现游戏DLSS智能管理,告别手动替换烦恼
  • 图像降噪算法演进史:从均值滤波到非局部均值(NL-Means),为什么说它是‘里程碑’?