python初学者指南:列表,元祖,字典,集合的使用场景对比及操作异同点分析
发布日期:2021-07-01 02:29:48 浏览次数:2 分类:技术文章

本文共 1421 字,大约阅读时间需要 4 分钟。

在前面的文章中我们一起学习了列表、元祖、字典、集合的定义以及相关常见的操作方法!但是学到这里脑中往往有些凌乱,所以花些时间梳理一下还是不错的!

1 列表、元祖、字典与集合的差异

列表[] 可变 可重复 有序
元祖(item,) 不可变 可重复 无序
字典{key:value} 可变 可重复 无序
集合{} 可变 不可重复 无序

1.1 可变数据类型与不可变数据类型

  • 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。

  • 可变数据类型 :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。

**总结:**不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变

示例:

元组被称为只读列表,即数据可以被查询,但不能被修改,但是我们可以在元组的元素中存放一个列表,通过更改列表的值来查看元组是属于可变还是不可变。

c1 = ['1','2']c = (1,2,c1)print(c,id(c),type(c))c1[1] = 'djx'print(c,id(c),type(c))result:(1, 2, ['1', '2']) 386030735432 
(1, 2, ['1', 'djx']) 386030735432

虽然元组数据发生改变,但是内存地址没有发生了改变,但是我们不可以以此来判定元组就是可变数据类型。我们回头仔细想想元组的定义就是不可变的。我们修改了元组中列表的值,但是因为列表是可变数据类型,所以虽然在列表中更改了值,但是列表的地址没有改变,列表在元组中的地址的值没有改变,所以也就意味着元组没有发生变化。我们就可以认为元组是不可变数据类型,因为元组是不可变的。

2 数据序列中的公共操作

2.1 运算符

运算符 描述 支持的容器类型
+ 合并 字符串、列表、元组
* 复制 字符串、列表、元组
in 元素是否存在 字符串、列表、元组、字典
not in 元素是否不存在 字符串、列表、元组、字典

*示例:

# 1. 字符串print('-' * 10)  # ----------# 2. 列表list1 = ['hello']print(list1 * 4)  # ['hello', 'hello', 'hello', 'hello']# 3. 元组t1 = ('world',)print(t1 * 4)  # ('world', 'world', 'world', 'world')

2.2 公共方法

函数 描述
len() 计算容器中元素个数
del 或 del() 删除
max() 返回容器中元素最大值
min() 返回容器中元素最小值
range(start, end, step) 生成从start到end的数字,步长为 step,供for循环使用
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

2.3 类型转换

函数 作用
tuple() 将某个序列转换成元组
list() 将某个序列转换成列表
set() 将某个序列转换成集合

以上便是本篇文章全部内容,如果看到这里对您有些许帮助,希望可以得到您的三连支持!

相关链接:

转载地址:https://matches999.blog.csdn.net/article/details/117912598 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:博客开篇:为什么开始?
下一篇:python初学者指南:元祖与字典

发表评论

最新留言

不错!
[***.144.177.141]2024年04月15日 06时43分16秒