【博学谷学习记录】超强总结,用心分享 | 人工智能编程语言Python容器数据类型对比

Python容器数据类型对比

  • 对比情况总表
  • 字符串
  • 元组
  • 列表
  • 集合
  • 字典

Python语言是人工智能领域使用极其广泛的编程语言,入门人工智能领域必须掌握其基本编程技巧和常用方式。本文是笔者学习在python时,对其最常用的基本容器数据类型进行的梳理总结,包括字符串、元组、列表、集合和字典。通过对这些基本容器类型进行对比学习,帮助初学者加强印象、加深理解。对比的内容主要包括:访问元素方式增加元素方式删除元素方式修改元素方式以及常用的其他操作

对比情况总表

为强化对比效果,增强理解记忆,把各容器类型对比情况总结成如下表所示:

类型 字符串 元组 列表 集合 字典
访问元素 下标或切片 下标或切片 下标或切片 d[key]方式、get方法访问单个键值;keys、values、items方法用于遍历访问
增加元素 +=和*=;用join、ljust、rjust、center、zfill方法可获得增加特定元素的新字符串 +=和*= +=和*=;append、extend、insert方法 add方法 d[key]=value方式;setdefault方法
删除元素 禁止!但strip、lstrip、rstrip方法可获得删除特定元素的新字符串 禁止! pop、remove、clear方法;del语句 pop、remove、discard、clear方法 pop、popitem、clear方法;del语句
修改元素 禁止!但replace、upper、lower、swapcase、title、capitalize方法可获得修改特定元素的新字符串 禁止!但若包含可变数据类型元素,则该元素可修改 下标或切片方式;reverse、sort方法改变排列顺序 无法修改,但update、difference_update、intersection_update、symmetric_difference_update方法可增删元素 d[key]=value方式;update方法
其他操作 split 、format、count、find、rfind、index、rindex以及各种元素特定属性判断方法 count、index方法 count、index、copy方法 copy、issubset、issuperset方法以及intersection、union、difference、symmetric_difference方法和相应的位运算符 copy、fromkeys方法

字符串

字符串和元组是不可变数据类型,不能删除和修改已有元素。字符串和元组、列表都可以使用下标和切片方式访问元素,都可以使用+=与*=增加元素,都可以用count、index方法统计某元素数量、获取某元素下标。需要注意的是字符串可以用join、ljust、rjust、center、zfill方法获得增加特定元素后的新字符串,可以用replace、upper、lower、swapcase、title、capitalize方法获得修改特定元素后的新字符串,还有自身特有的split、format、find、rfind以及各种元素特定属性判断方法,如:isspace判断是否是空格等。

元组

元组是不可变数据类型,不能修改已有元素,但要注意如果包含了可变数据类型元素(比如列表),则该元素可修改。

列表

列表增加元素有特有的append、extend、insert方法;删除元素有pop、remove、clear方法和del语句;修改元素可直接用下标或切片方式,也可用reverse方法倒序、用sort方法按定义的大小排序。

集合

集合没有下标等特定的访问某个元素的方式,增加元素可用add方法,删除元素有pop、remove、discard、clear方法,无法修改元素,但update、difference_update、intersection_update、symmetric_difference_update方法可用集合运算增删元素,且支持位运算符方便进行集合交、并、差、补运算。

字典

字典用d[key]方式和get方法访问单个键值、用keys、values、items方法分别刻意遍历访问所有键、值、键值对;增加元素可使用d[key]=value方式或setdefault方法添加新的键值对;删除元素用pop、popitem、clear方法或del语句;修改元素用d[key]=value方式或update方法;其他操作如copy、fromkeys方法可获得字典副本和指定从键创建新字典。

不同容器类型的灵活使用需要在编程中多多实践、总结经验。读者还可以加入python其它容器类继续进行对比分析,相信可以感受python语言数据模型设计的精巧实用。
以上。

你可能感兴趣的:(学习总结,笔记,python,容器,学习)