初识Python之dict和set

版权声明:本博所有原创内容不得私自引用转载。若您需要引用、转载,只需要注明来源及原文链接即可。如涉及大面积转载,请来信告知,获取授权。 https://blog.csdn.net/weixin_44568922/article/details/86684050

关注公众号:Python互助小组
一起学习,共同进步
里面有不定期的赠书活动哦
在这里插入图片描述

dict

dict是Python的字典(dictionary)
字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

key是唯一的,重复的键值对会替换前者,值不需要唯一

例如下面这个例子:

d = {'key1': 'value1', 'key2': 'value2', 'key2': 'value3'}
print(d)

猜猜会输出什么呢??

既然前面说了后面的会替代前面的,那么肯定会输出

{'key1': 'value1', 'key2': 'value3'}

说完dict的特点,我们来说说该怎么获得里面的值呢?

d = {'key1': 'value1', 'key2': 'value2', 'key2': 'value3'}
print(d['key1'])

这样就取出来了key1对应的值 value1

此外还有一种办法,就是字典的get()方法

d = {'key1': 'value1', 'key2': 'value2', 'key2': 'value3'}
print (d.get('key1'))

那么你可能会问了, 如果我这个key在字典里面不存在怎么办呢?

如果你在新华字典里面查不到一个词怎么办呢? 那你肯定会把字典扔一边里去骂娘了.

Python也是,只不过他不会骂娘,他会出现一个异常叫做keyError,你可以实际的操作下.

但是你又是一个傲娇的人,你觉得一个keyerror觉得自己很没有水平,没关系. pyhton满足你的虚荣心

d = {'key1': 'value1', 'key2': 'value2', 'key2': 'value3'}
print (d.get('key3', '猜猜我有没有?'))

字典的key在内部存储的顺序是无序的,所以print(d)的值和入参的顺序可能是不一致

注意

dict的特点:

  • 查找和插入的速度极快,不会随着key的增加而变慢

  • 需要占用大量的内存,内存浪费多

list的特点:

  • 查找和插入的时间随着元素的增加而增加

  • 占用空间小,浪费内存很少

那么都有什么能作为key呢?

由于字典中的key是不可变的

所以字符串和整数等都一般会成为我们作为key的首选

而对象则是万万不能作为一个key的

一般的话字符串作为key的情况多

上面我们介绍了获取字典中的元组,既然叫字典了,那么我们肯定会有修订

修改字典的元素
d = {'key1': 'value1', 'key2': 'value3'}
d['key1'] = 'value111'
print (d.get('key1', '猜猜我有没有?'))
增加字典的元素
d = {'key1': 'value1', 'key2': 'value3'}
d['key3'] = 'value3'
print (d.get('key3', '猜猜我有没有?'))
删除字典中的元素
d = {'key1': 'value1', 'key2': 'value3'}

del d['key1']
# 这里会输出猜猜我有没有?
print (d.get('key1', '猜猜我有没有?'))

d['key1'] = 'value111'
# 这里会输出 value111
print (d.get('key1', '猜猜我有没有?'))

还有一些方法在这里就不一一列举了

序号 函数 描述
1 dict.clear() 删除字典内所有元素
2 dict.copy() 返回一个字典的浅复制
3 dict.has_key(key) 键在字典dict里
4 dict.items() 以列表返回可遍历的元组数组
5 dict.keys() 以列表返回一个字典所有的键
6 dict.update(dict2) 把字典dict2更新到dict里
7 dict.values() 以列表返回字典中的所有值

set

set和list类似,但是特性和字典类似,set和dict的底层实现是相似的

set中是去重无序的,即在set中是没有重复的元素的,参数内部顺序和进出入顺序不一定是一致的

有一点需要注意:

s = ('set')
print(s)

# 第二种创建方式
s = (['s','e','t'])
print(s)

这样就创建出了一个set集合

增加元素
s = ('set')
print(s)

# 第二种创建方式
s1 = (['s','e','t'])
print(s1)
# 这个set1不会象上面一样被拆分,这就是一个值
s.add('set1')
print(s)
删除元素
s.remove('s')

同时set还可以做交集和并集

s = ('set')
print(s)

# 第二种创建方式
s1 = (['s','e','t', '1'])
print(s1)

print(s1 & s)

print(s1 | s)

思考一下都会输出什么?

dict和set就先到这里


关注公众号:Python互助小组
一起学习,共同进步
里面有不定期的赠书活动哦
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44568922/article/details/86684050