Python学习--dict和set

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ada_lake/article/details/80020295


                dict(空间换时间)                  list
用法 高速查找


特点

1.查找插入极快,不随key增加而变慢

2.需占用大量内存,内存浪费多

3.key值是不可变对象(字符串、整数),因此

4.使用键--值存储

1.时间随元素增加而增加

2.占用空间少,浪费内存少



1.dict:KEY必须为不可变对象【字符串,整数】(因为,dict通过key来计算value的存储位置【哈希算法】)--list可以

dict内部存放顺序和key放入的顺序无关!

dict :一组key的集合。全称就是dictionary,也就是其他语言中的map。其实相当于字典,因此查找速度更快。举个栗子:

>>>d = {'Michael' : 95, 'Bob' : 75, 'Tracy' : 85}

>>>d['Michael']

95

一个key只能对应一个value,多次对一个key放入,后面的值会冲掉前面的值

dict的几种用法:

通过key放入   

>>> d['Adam'] = 67

>>>d['Adam']

67

避免key不存在

1. 通过in判断  :>>> 'Tomas' in d     2.通过dict提供的get()方法,如果不存在,返回None 或指定value

                             False                           >>> d.get('Tomas')  (返回None时Python交互环境不显示结果)

                                                                  >>>d.get('Tomas', -1)

                                                                  -1

删除Key,对应的value也会从dict中删除

>>>d.pop('Bob')

75

   
   

2.set 无序,无重复元素的集合 ,KEY必须为不可变对象

set:一组key的集合,但不存储value。没有重复的key。 用list可以
重复元素在set中自动被过滤  
 
>>> s= set([1, 2, 3])

>>>s

{1, 2, 3}

[1, 2, 3]是一个list ,{1, 2, 3}只说明这个set内部有1, 2, 3这3个元素,显示的顺序不代表set是有序的

set的几个用法:

添加 >>> s.add(4)
>>>s
{1, 2, 3, 4}
删除 >>>s.remove(4)
>>>s
{1, 2, 3}
交集,并集 >>> s1 = set([1,  2, 3])
>>> s2 = set([2,  3,  4])
>>>s1 & s2
{2, 3}
>>>s1 | s2
{1, 2, 3, 4}



猜你喜欢

转载自blog.csdn.net/Ada_lake/article/details/80020295
今日推荐