Agent学习路线之——python 入门 ④(字符串、列表、元组、字典、集合)
本文为Python学习第四天的完整笔记涵盖Python五大容器类型字符串、元组、列表、字典、集合的增删改查操作及易错点。适合零基础入门学习建议配合代码实操。一、容器概述在Python中容器是用来存储多个数据的对象。根据是否可变、是否有序等特性分为不同的类型容器类型是否可变是否有序是否可重复定义符号字符串str❌ 不可变✅ 有序✅ 可重复 或 元组tuple❌ 不可变✅ 有序✅ 可重复( )列表list✅ 可变✅ 有序✅ 可重复[ ]字典dict✅ 可变❌ 无序3.7有序❌ 键不可重复{键:值}集合set✅ 可变❌ 无序❌ 不可重复{ }开发小技巧容器都可以直接构造返回。例如直接写a1, b2然后[a, b]不必再先创建一个空容器再添加元素。二、字符串字符串是Python中最常用的容器之一用于存储文本数据。2.1 字符串的不可变性与修改方法字符串是不可变类型不能直接修改原字符串但可以通过方法生成新的字符串。join() —— 连接可迭代对象用指定连接符将可迭代对象中的字符串元素连接成一个新字符串。# 用 - 连接列表中的字符串 words [2026, 08, 19] result -.join(words) print(result) # 2026-08-19 # 注意可迭代对象里面的元素必须都是字符串 # numbers [1, 2, 3] # -.join(numbers) # ❌ 报错必须是字符串split() —— 分割字符串按指定分隔符将字符串分割成列表。date 2026-08-19 parts date.split(-) print(parts) # [2026, 08, 19] # 按空格分割 sentence Python 是最棒的语言 words sentence.split( ) print(words) # [Python, 是最棒的语言]replace() —— 替换字符将字符串中的指定内容替换为新的内容返回新的字符串。text 我喜欢 JavaJava 很好用 new_text text.replace(Java, Python) print(new_text) # 我喜欢 PythonPython 很好用 # 原字符串不会被修改 print(text) # 我喜欢 JavaJava 很好用2.2 字符串查询方法方法作用示例索引通过下标获取单个字符s[0]in判断子串是否在字符串中py in pythoncount()统计子串出现次数s.count(p)index()查找子串第一次出现的索引找不到报错s.index(python)find()查找子串第一次出现的索引找不到返回-1s.find(java)upper()转大写s.upper()strip()去除首尾空格和换行默认s.strip()s python programming # 字符串和字符都可以操作 print(s.count(python)) # 1 print(s.count(p)) # 2 print(s.index(python)) # 0 print(s.find(java)) # -1找不到返回-1不会报错 print(s.upper()) # PYTHON PROGRAMMING # strip 去除首尾空格和换行 text hello world \n print(text.strip()) # hello world三、元组元组tuple是不可变的有序容器一旦创建就不能修改其中的元素。3.1 元组的基本操作元组支持查询操作与字符串类似t (10, 20, 30, 20, 40) # 索引查询 print(t[0]) # 10 print(t[-1]) # 40 # index() 查找位置 print(t.index(20)) # 1第一个20的位置 # count() 统计次数 print(t.count(20)) # 2 # in 判断是否存在 print(30 in t) # True3.2 元组的易错点⚠️ 单元素元组必须加逗号如果元组只有一个元素必须加上逗号否则Python会将其识别为普通括号表达式。tuple1 (1,) # ✓ 这才是元组 tuple2 (2,) # ✓ 元组 tuple3 (3) # ✗ 这是整数 3不是元组 print(type(tuple1)) # class tuple print(type(tuple3)) # class int元组支持相加和切片虽然元组不可变但支持通过拼接生成新元组也支持切片操作。tuple (1, 2, 3) # 直接相加生成新元组 tuple (1, 2) print(tuple) # (1, 2, 3, 1, 2) # 切片操作 print(tuple[:-1]) # (1, 2, 3, 1) print(tuple[1:3]) # (2, 3) # 也支持 in 查询判断 print(4 in tuple) # False四、列表列表list是Python中最常用的可变有序容器支持增删改查各种操作。4.1 列表的增加操作方法作用示例append()在末尾添加一个元素list.append(4)extend()在末尾添加可迭代对象的多个元素list.extend([5,6])insert()在指定位置插入元素list.insert(0, 开头)my_list [1, 2, 3] # append 添加单个元素 my_list.append(4) print(my_list) # [1, 2, 3, 4] # extend 添加可迭代对象列表、元组、字符串等 my_list.extend([5, 6]) print(my_list) # [1, 2, 3, 4, 5, 6] # insert 在指定位置插入 my_list.insert(0, 开头) print(my_list) # [开头, 1, 2, 3, 4, 5, 6]4.2 列表的删除操作方法作用说明del list[索引]删除指定索引元素也可删除整个列表或切片pop(索引)删除并返回指定索引元素默认删除最后一个remove(元素)删除第一个匹配的元素按值删除my_list [a, b, c, d, b] # pop 删除并返回 item my_list.pop(1) print(item) # b print(my_list) # [a, c, d, b] # remove 按值删除删除第一个匹配的 my_list.remove(b) print(my_list) # [a, c, d] # del 删除指定索引 del my_list[0] print(my_list) # [c, d]注意列表这里一般不用del删除整个列表防止操作失误删除原list导致后续代码无法使用。4.3 列表的修改操作my_list [3, 1, 4, 1, 5] # 通过索引修改 my_list[0] 100 print(my_list) # [100, 1, 4, 1, 5] # sort() 排序原地排序不返回新列表 my_list.sort() print(my_list) # [1, 1, 4, 5, 100] # reverse() 反转 my_list.reverse() print(my_list) # [100, 5, 4, 1, 1]4.4 列表的查询操作my_list [apple, banana, cherry] # 索引查询 print(my_list[1]) # banana # index() 查找位置 print(my_list.index(banana)) # 1 # count() 统计次数 print(my_list.count(apple)) # 1 # in 判断是否存在 print(apple in my_list) # True实用技巧判断一个变量在不在列表里面不需要循环直接if 变量 in 列表就行。fruits [apple, banana, cherry] if banana in fruits: print(有香蕉)4.5 列表的易错点和元组一样列表也支持相加、切片、in等操作list1 [1, 2] list2 [3, 4] # 列表相加拼接 print(list1 list2) # [1, 2, 3, 4] # 切片 print(list1[::-1]) # [2, 1] # in 判断 print(2 in list1) # True五、字典字典dict是Python中非常强大的键值对容器通过键key来快速查找值value。5.1 字典的增删改# 创建字典 dict1 {height: 1.8, weight: 90, name: 邵梦飞} # 增/改通过键来添加或修改 dict1[age] 25 # 新增键值对 dict1[height] 1.85 # 修改已有键的值 print(dict1)# 删除操作 dict1 {height: 1.8, weight: 90, name: 邵梦飞} # del 删除指定键值对 del dict1[weight] print(dict1) # {height: 1.8, name: 邵梦飞} # clear() 清空字典 dict1.clear() print(dict1) # {} # pop() 删除并返回指定键的值 dict1 {height: 1.8, weight: 90} value dict1.pop(height) print(value) # 1.8 print(dict1) # {weight: 90}5.2 字典的查询方法方法作用示例dict[键]通过键获取值键不存在报错dict1[name]get(键)通过键获取值键不存在返回Nonedict1.get(age)keys()获取所有键dict1.keys()values()获取所有值dict1.values()items()获取所有键值对dict1.items()dict1 {height: 1.8, weight: 90, name: 邵梦飞} # 获取所有键 print(dict1.keys()) # dict_keys([height, weight, name]) # 获取所有值 print(dict1.values()) # dict_values([1.8, 90, 邵梦飞]) # 获取所有键值对 print(dict1.items()) # dict_items([(height, 1.8), (weight, 90), (name, 邵梦飞)]) # get() 安全获取值 print(dict1.get(age)) # None不会报错 print(dict1.get(age, 0)) # 0可设置默认值5.3 字典易错案例将字符串转换为字典是常见需求需要注意分割逻辑# 需求将 height:1.8 weight:90 name:邵梦飞 转换为字典 data height:1.8 weight:90 name:邵梦飞 my_dict {} # 先按空格分割成列表 list_item data.split( ) print(list_item) # [height:1.8, weight:90, name:邵梦飞] for item in list_item: # 再按冒号分割成键和值 k, v item.split(:) my_dict[k] v print(f字典结果{my_dict}) # 字典结果{height: 1.8, weight: 90, name: 邵梦飞}注意split(:)分割后得到的值都是字符串类型如果需要数值类型需要额外进行类型转换。六、集合集合set是无序、不重复的容器常用于去重和集合运算。# 创建集合 my_set {1, 2, 3, 3, 3} print(my_set) # {1, 2, 3}自动去重 # 增add() my_set.add(4) print(my_set) # {1, 2, 3, 4} # 删remove()元素不存在会报错 my_set.remove(2) print(my_set) # {1, 3, 4} # 查in print(3 in my_set) # True集合的特点集合中的元素必须是可哈希的不可变类型所以列表和字典不能作为集合的元素。七、总结7.1 开发小技巧鼠标悬停看返回和传参在PyCharm等IDE中将鼠标悬停在方法上可以看到返回值和参数说明按CtrlP也可以查看传参提示。快捷键ShiftF6重命名变量/函数时使用ShiftF6可以一键替换所有引用位置避免遗漏。容器直接构造容器都可以直接构造返回如a1, b2然后写[a, b]不必再创建一个空列表再append。7.2 今日重点总结容器核心特点重点方法字符串不可变有序join(),split(),replace(),strip(),find()元组不可变有序单元素必须加逗号(1,), 支持和切片列表可变有序append(),extend(),insert(),pop(),sort(),reverse()字典键值对存储keys(),values(),items(),get(), 通过键增删改查集合无序不重复add(),remove(),in下一篇将继续学习Python函数与面向对象基础敬请期待练习建议动手敲一遍所有代码尤其注意元组单元素逗号、replace返回新字符串、字典get()与直接取键的区别。这些细节是面试和实际开发中的高频踩坑点。

相关新闻

XUnity.AutoTranslator 教程:3 分钟给 Unity 游戏装上实时翻译插件

XUnity.AutoTranslator 教程:3 分钟给 Unity 游戏装上实时翻译插件

XUnity.AutoTranslator 教程:3 分钟给 Unity 游戏装上实时翻译插件 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator 是一款开源的 Unity 实时翻译插件,能把日…

2026/8/22 17:15:54 阅读更多 →
华为OD机试:二叉树BFS遍历的多语言实现与优化

华为OD机试:二叉树BFS遍历的多语言实现与优化

1. 项目概述:华为OD机试中的二叉树遍历挑战华为OD机试作为华为生态体系的重要人才筛选环节,其编程题目往往聚焦数据结构与算法的核心能力考察。其中,二叉树相关题目出现频率高达37%(根据2022-2023年真题统计)&#xff…

2026/8/22 17:15:54 阅读更多 →
【高级】系统架构师 | 案例分析专栏-脚本语言 IDE

【高级】系统架构师 | 案例分析专栏-脚本语言 IDE

原题 阅读以下关于软件架构风格的说明,在答题纸上回答问题 1 和问题 2。 【说明】 某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软…

2026/8/22 17:15:54 阅读更多 →

最新新闻

Driver Store 清出 6.8GB:只需 3 个动作

Driver Store 清出 6.8GB:只需 3 个动作

Driver Store 清出 6.8GB:只需 3 个动作 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你盯着"可用空间 4.1GB",突然想砸键盘。 最近没装什么大软件…

2026/8/22 18:03:09 阅读更多 →
Multimodal-Sentiment-Analysis 多模态情感分析完整教程:BERT+ResNet 五种融合方法快速上手指南

Multimodal-Sentiment-Analysis 多模态情感分析完整教程:BERT+ResNet 五种融合方法快速上手指南

Multimodal-Sentiment-Analysis 多模态情感分析完整教程:BERTResNet 五种融合方法快速上手指南 【免费下载链接】Multimodal-Sentiment-Analysis 多模态情感分析——基于BERTResNet的多种融合方法 项目地址: https://gitcode.com/gh_mirrors/mu/Multimodal-Sentim…

2026/8/22 18:03:09 阅读更多 →
猫抓 Cat Catch 免费完整指南:浏览器资源嗅探与 M3U8 下载怎么做才靠谱

猫抓 Cat Catch 免费完整指南:浏览器资源嗅探与 M3U8 下载怎么做才靠谱

猫抓 Cat Catch 免费完整指南:浏览器资源嗅探与 M3U8 下载怎么做才靠谱 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 先给个对比&…

2026/8/22 18:03:09 阅读更多 →
免费brd文件查看器:OpenBoardView 上手指南

免费brd文件查看器:OpenBoardView 上手指南

免费brd文件查看器:OpenBoardView 上手指南 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView 一块笔记本的 .brd 设计文件刚送到维修工位上。商业 EDA 软件数万元授权费无从谈起,你要…

2026/8/22 18:03:09 阅读更多 →
智能体语义轨迹分析:从黑盒决策到可解释优化的实践框架

智能体语义轨迹分析:从黑盒决策到可解释优化的实践框架

1. 项目概述:当智能体也需要一位“导师”最近在折腾大语言模型驱动的智能体(Agent)时,我遇到了一个挺普遍但棘手的问题:我们训练或部署的智能体,在完成一系列复杂任务后,我们往往只知道它“最终…

2026/8/22 18:03:09 阅读更多 →
Java面试全攻略:从基础到架构的必备知识点解析

Java面试全攻略:从基础到架构的必备知识点解析

1. 项目概述这份Java面试题集最初在Github上发布后迅速走红,随后被分享到牛客网等国内技术社区,成为众多Java开发者面试准备的必备资料。作为一位经历过数十次技术面试的Java开发者,我深知一份高质量的面试题对求职者的重要性。这份资料之所以…

2026/8/22 18:02:09 阅读更多 →

日新闻

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

2026/8/22 0:00:11 阅读更多 →
电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

这次我们来看一个针对电气考研电路科目的学习规划项目。它不是软件工具,而是一套聚焦于8月份关键节点的备考策略。对于电气工程考研的同学来说,电路分析是专业课的重中之重,也是拉开分差的关键。进入8月,复习进入强化阶段&#xf…

2026/8/22 0:00:11 阅读更多 →
消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

大家好,我是专注于前端开发与AI工具实践的技术博主。在日常使用 Claude Code 等AI编程助手时,你是否也遇到过这样的困扰:生成的代码功能上没问题,但代码风格、组件设计、交互逻辑总透着一股“AI味”——布局单调、样式简陋、交互生…

2026/8/22 0:00:11 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/22 8:09:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/21 16:42:28 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/22 7:31:03 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →