python 中 list,dict ,tuple ,set 的区别联系

PS: 面试被问到了,特来记录一下。 

参考: https://juejin.im/post/6844903815708147726

1 .list

a. list是一个使用方括号括起来的有序元素集合;

b. list 可以作为以 0 下标开始的数组,任何一个非空 list 的第一个元素总是 L[0],负数索引从 list 的尾部开始向前计数来存取元素。任何一个非空的 list 最后一个元素总是 L[-1];

c. 有分片功能,两个list可以相加;

list 添加元素的方法有: append , insert , extend,具体为: 

d. append 向 list 的末尾追加单个元素;

e. insert 将单个元素插入到 list 中;

f. extend 用来连接 list,使用一个 list 参数进行调用;

g. append 接受一个参数,这个参数可以是任何数据类型,并且简单地追加到 list 的尾部;

h. index 在 list 中查找一个值的首次出现并返回索引值;

i. 要测试一个值是否在 list 内, 使用 in, 如果值存在, 它返回 True, 否则返为 False ;

j. remove 从 list 中删除一个值的首次出现;

k. pop 可以删除list的最后一个元素,然后返回删除元素的值,用索引删除制定位置的值;

2.tuple

a. tuple是不可变的list,创建了一个tuple就不能以任何方式改变它;

b. 定义tuple是将整个元素集是用小括号括起来,是有序集合;

c. tuple的索引与list一样从0开始,所以一个非空的tuple的第一个元素总是t[0];

d. 负数索引与 list 一样从 tuple 的尾部开始计数;

e. 与 list 一样分片 (slice) 也可以使用。分割一个 tuple 时, 会得到一个新的 tuple;

f. 没有 append、extend、remove或pop方法以及index方法;

g. 可以使用in来查看一个元素是否存在于tuple 中。

3.dict

a. dict定义了键和值之间的一一对应关系,每个元素都是一个key-value对;

b. 整个元素集合用大括号括起来,有序集合;可以通过 key 得到value, 但不能通过vaule获取 key;在一个 dict中不能有重复的 key, 并且 key 是大小写敏感的;

c. 键可以是数字、字符串或者是元组等不可变类型;

d. 用del使用key可以删除dict中的独立元素;

e. 用clear可以清除dict中的所有元素。

4.set

a. set是建立一系列无序的,不重复的元素;

b. 创建set的方式是调用set()并传入一个list,list的元素将作为set的元素;

c. set和dict的唯一区别仅在于没有存储对应的value。

总结: 四者都是 python中 重要的数据类型,list,dict 数据是可变的, tuple 的数据类型不可变,当需要数据不可变时可以选择使用 tuple。set 是一个集合,可以用来对元素进行去重。 

 
原文地址:https://www.cnblogs.com/E-Dreamer-Blogs/p/13575764.html