在python中,我们经常用列表,字典等数据类型进行数据存储或者重新构造一个序列,同时它们之间也有着一些关联关系,接下来我们就对python中常用的几种数据类型进行一个整体性的梳理。
区别
相同点
- 都相当于一个容器,有存放数据的功能
- 都可以用for … in 进行循环
不同点
序列存放的是不同类型的数据,迭代器中存放的是算法。
序列是将数据提前存放好,获取数据时通过循环或索引来取数据 ;而迭代器不需要存放数据,获取数据时通过算法获取下一个数据 。
序列中的每一个数据都要开辟内存空间;而迭代器并不需要,它每次只需要通过算法计算出下一个值即可。从这个角度来看,如果进行大数据量处理,使用迭代器更合适 。
序列可以通过索引或键名来获取某一个值,而迭代器只能使用next()获取下一个值。
变化趋势
从左到右,可以试图找一些规律 。
从对数据的排序来看,从左到右可以看出是无序的,有序的,有规则(也可以定义成有序的)。
从对数据的操作灵活度来看,左边的操作性更加灵活,可以进行增删改查 ;右边相对来说比较单一只能进行查询 (注意:定义后的字符串就只能进行查询,通过方法生成的字符串并不是原来的字符串了)。
从定义数据类型的符号来看,也是遵循汉字的大-中-小-引 来实现的,如字典|集合是大括号,列表是中括号,元组是小括号,字符串为双引号或单引号。
数据类型间的相互转化
以上不同的数据类型,也可以实现两者之间的相互转化,转化时只需要通过调用对应函数即可