Python列表,元组,集合,字典的区别和相互

 我来答
tufeididi007
2018-01-17 · TA获得超过2125个赞
知道大有可为答主
回答量:2698
采纳率:76%
帮助的人:1246万
展开全部

元组和列表是类似的, 只是元组不可修改内容

注意这里指的是不可修改元组元素的指向, 你可以修改内容指向的内容

>>> lst = [1, 2, 3]        # 定义列表
>>> a = (1, 2, lst, 4)    # 注意元组a的a[2]是一个列表
>>> a
(1, 2, [1, 2, 3], 4)
>>> a[2] = 4            # 试图修改元组元素的指向, 报错
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    a[2] = 4
TypeError: 'tuple' object does not support item assignment
>>> a[2][0] = 0        # 不修改元组元素的指向的元素, 但是修改指向的内容
>>> a
(1, 2, [0, 2, 3], 4)
>>> a[2].append(5)    # 不修改元组元素的指向的元素, 但是修改指向的内容
>>> a
(1, 2, [0, 2, 3, 5], 4)

字典完全区别于列表和元组

因为字典使用hash表来存储, 所以只有能够进行hash运算的才能作为键值

个人认为, 一般不可变的都能作为键, 比如str/tuple/None/function.列表不能作为键

最后, 由于字典是hash表算法{字典查找O(1), 列表遍历O(n)}, 在数据量巨大的时候, 字典的查找效率出奇的高

窦舒马莉莉
2019-03-10 · TA获得超过3998个赞
知道大有可为答主
回答量:3175
采纳率:30%
帮助的人:438万
展开全部
列表是一组值,其中的值可以改变
元组也是一组值,其中的值不能改变
列表与元组可以相互转换
集合是一组唯一的无顺序的值
字典是无固定顺序的键值对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿海的情感窗
2020-03-05 · TA获得超过3662个赞
知道大有可为答主
回答量:3038
采纳率:34%
帮助的人:177万
展开全部
Python列表,元组,集合,字典的区别和相互转
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式