99. Python中list、tuple、dict、set有什么区别,主要应用在什么样的场景?

这题又来了

区别和场景用多了就知道,参考别的博客整理一下吧

https://www.cnblogs.com/soaringEveryday/p/5044007.html写的详细

List

1.中括号[ ]表示

2.不限制里面存放的元素的类型

3.可以通过index序号来访问里面的元素,可以正着访问也可以倒着访问

4.通过内置函数append在末尾添加元素,insert添加到指定位置,pop删除最尾部的元素,也可以指定元素进行删除

5.可以通过下标进行复制替换

Tuple

1.和list相似,不过是()表示,通过下标访问

2.不能复制替换

3.创建空元组(),创建单元素元组(1,)

4.那么tuple这个类型到底有什么用处呢?要知道如果你希望一个函数返回多个返回值,其实只要返回一个tuple就可以了,因为tuple里面的含有多个值,而且是不可变的(就像是java里面的final)

5.如果元组中的元素是可变类型,如list,那么该位置内的元素是可以改变的。这是因为Tuple所谓的不可变指的是指向的位置不可变,因为本例子中第四个元素并不是基本类型,而是一个List类型,所以t指向的该List的位置是不变的,但是List本身的内容是可以变化的,因为List本身在内存中的分配并不是连续的。

Dict

1.key-value键值对,{ }表示

2.打印结果是key:value格式,可以通过len得到长度

3.直接通过键值对的方式添加元素

4.使用key来访问元素

5.

Dict具有一些特点:

  • 查找速度快。无论是10个还是10万个,速度都是一样的,但是代价是耗费的内存大。List相反,占用内存小,但是查找速度慢。这就好比是数组和链表的区别,数组并不知道要开辟多少空间,所以往往开始就会开辟一个大空间,但是直接通过下标查找速度快;而链表占用的空间小,但是查找的时候必须顺序的遍历导致速度很慢
  • 没有顺序。Dict是无顺序的,而List是有序的集合,所以不能用Dict来存储有序集合
  • Key不可变,Value可变。一旦一个键值对加入dict后,它对应的key就不能再变了,但是Value是可以变化的。所以List不可以当做Dict的Key,但是可以作为Value:

6.合并两个字典

# 方法一
>>> d1 = {'mike':12, 'jack':19}
>>> d2 = {'jone':22, 'ivy':17}
>>> dMerge = dict(d1.items() + d2.items())
>>> print dMerge
{'mike': 12, 'jack': 19, 'jone': 22, 'ivy': 17}

# 方法二
>>> dMerge2 = dict(d1, **d2)
>>> print dMerge2
{'mike': 12, 'jack': 19, 'jone': 22, 'ivy': 17}

# 等同于方法二
>>> dMerge3 = dict(d1)
>>> dMerge3.update(d2)
>>> print dMerge
{'mike': 12, 'jack': 19, 'jone': 22, 'ivy': 17}

Set

1.类似于列表,但是里面的元素不能重复,无序

2.大小写敏感

3.通过add和remove来添加、删除元素(保持不重复),添加元素时,用set的add()方法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值