Python常见数据结构

元组(Tuple)列表(List)是Python中两种主要的序列类型,它们在功能上有许多相似之处,但也存在一些关键的区别:

可变性:

列表是可变的,这意味着你可以更改列表的内容,例如添加、删除或更改元素。由于列表是可变的,我们可以使用append()、insert()、remove()等方法来修改列表。元组则没有这些方法,因为它不可变。
元组是不可变的,一旦创建就不能更改。尝试修改元组的操作将引发错误。
存储数据:元组是一种可以存储不同数据类型,且数据不可变的序列。

tup1 = ('physics', 'chemistry', 1997, 2000);

tup2 = (1, 2, 3, 4, 5 );

tup3 = "a", "b", "c", "d";

内存使用:

元组通常比列表使用更少的内存,因为它们的结构是固定的。
速度和安全性:因为元组是不可变的,所以它们的处理速度通常比列表快,同时在某些情况下也更安全,因为它们不能被意外修改。
语法:

列表使用方括号[]来创建,例如my_list = [1, 2, 3]。
元组使用圆括号()来创建,例如my_tuple = (1, 2, 3)。如果元组中只有一个元素,需要在元素后面加上逗号,例如single_element_tuple = (1,)。
内置函数:

某些内置函数,如min()和max(),可以接受列表作为参数,但不适用于元组。
元组内置函数
Python元组包含了以下内置函数
1、cmp(tuple1, tuple2):比较两个元组元素。
2、len(tuple):计算元组元素个数。
3、max(tuple):返回元组中元素最大值。
4、min(tuple):返回元组中元素最小值。
5、tuple(seq):将列表转换为元组。

定义的时候tuple包含的3个元素:

>>> tuple = (1, 2, 'a', 'b', ['A', 'B'])
>>> tuple[2][0] = 'X'
>>> tuple[2][1] = 'Y'
>>> tuple
(1, 2, 'a', 'b', ['X', 'Y'])
    表面上看,tuple的元素打印出来的结果确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的! 

字典(Dictionary)
键值对:字典存储键值对(key-value pairs),其中键(key)是唯一的,而值(value)可以是任何数据类型。
可变:字典是可变的,这意味着你可以在创建后添加、修改或删除键值对。
无序:字典是无序的,这意味着键值对的顺序可能会在不同的Python解释器或不同的运行之间改变。
查找速度:字典的查找速度非常快,它是通过哈希表实现的,具有平均时间复杂度O(1)。
语法:字典使用花括号{}创建,键值对之间用冒号:分隔,例如my_dict = {'key1': 'value1', 'key2': 'value2'}。
方法:字典提供了多种方法来操作字典,如keys(), values(), items(), get(), update()等。
集合(Set)
无序集合:集合是一个无序的不重复元素集。
可变:集合是可变的,你可以添加、删除或清除集合中的元素。
查找速度:集合的查找速度也很快,同样是通过哈希表实现的。
语法:集合使用花括号{}或set()函数创建,例如my_set = {1, 2, 3}或my_set = set([1, 2, 3])。
方法:集合提供了一些方法来操作集合,如add(), remove(), discard(), union(), intersection(), difference()等。
元素唯一性:集合中的所有元素都是唯一的,没有重复的元素。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kingairy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值