Python中元组,集合2种数据类型在某些情况下替换列表的优势

Python3中给我们提供了6种标准数据类型:
Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)

其中 :
数字、字符串、元组是不可变数据(定义后不可修改)
列表、字典、集合是可变数据(定义后可以修改)。

关于这些数据类型的基本知识这里不展开叙述,需要了解请点击如下链接:
python标准数据类型的定义和基本用法参考

大家在coding中使用最频繁的数据类型一定是列表,列表虽然应用广泛,但在某些应用场景下并不是最适合的,我们不能一昧地使用列表而忽略了其它类型,因此在这里总结一下元组,集合 在某些情况下替换列表的优势

1. 列表:

列表可以进行索引,切片,还内置了很多方法,例如 append()、pop() 等等,列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(即嵌套)。

因此,列表使用十分方便,被应用的最为频繁,但是某些情况下使用列表并不是最佳选择。

2. 元组:

元组与列表的使用规则差不多,区别是元组是不可变的有序项序列,一旦定义了元组,它就不能被更改。

所以,利用元组可以编写出更安全代码。当变量被定义为元组时,就是在声明:这组数据不能改变,任何修改变量的尝试都将出现错误。

此外,由于元组中的项目数不变,元组比列表更节省内,存迭代元组比迭代列表也更快。

因此,如果列表的序列不需要修改,或者只是用于迭代,那么完全可以用元组替换列表来提升数据安全性,提高运行效率,同时节省内存。

3. 集合:

谈到集合,一定要与字典区别开来,新手往往会把他们混淆。

集合是一个无序的数据项组合。它与列表的区别在于集合不能有重复的值。与元组一样,可以通过强制类型转换将另一种数据类型创建为集合。

如果有一个包含大量数据项的列表,要求删除其中的重复值时,你会怎么做呢?

事实上,只要将列表转换成集合就可以了。集合不能有重复的值,将其它数据类型转换为集合时,重复的值自然就被过滤了。

代码示例:

#定义一个列表
def_list = ['1','2','3','4','3','9','张三','李四','王五','李四'] 

trans_set = set(def_list) #将列表转换成集合,可删除重复值
print('列表项:',def_list) #打印列表
print('集合项:',trans_set) #打印集合

另外,当需要比较多个集合或列表时,使用集合的内置方法union()、intersection() 和 difference() 函数能直接告诉你两个集合之间的组合值(或)、共享值(与)和不同值(非)。

总结:

列表用起来舒服可靠,元组可以更快地处理并保护声明的数据结构,集合可以确保唯一值并利用比较方法。使用合适的数据类型对我们是大有裨益的,学习Python就应该学会用更好的方法解决问题。

发布了15 篇原创文章 · 获赞 4 · 访问量 830

猜你喜欢

转载自blog.csdn.net/qq_41320433/article/details/104278220
今日推荐