iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中Dict和Set如何使用
  • 473
分享到

Python中Dict和Set如何使用

2023-06-15 17:06:34 473人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python中Dict和Set如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 一、dictPython内置了字典:dict的支持,dict全称d

这篇文章将为大家详细讲解有关python中Dict和Set如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

 一、dict

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

例 : 假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list:

names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75, 85]

定义一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长。

如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。

例:

names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75, 85]

Python中Dict和Set如何使用

1. 为什么dict查找速度这么快?

dict就是在字典的索引表里(比如部首表)查这个字对应的页码,然后直接翻到该页,找到这个字。无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢。

把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:

d['Adam'] = 67 print(d['Adam'])

Python中Dict和Set如何使用

由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:

d['Jack'] = 90 d['Jack'] = 88 print(d['Jack']) #多次对一个key放入value,后面的值会把前面的值冲掉:显示后面修改的值

Python中Dict和Set如何使用

如果key不存在,dict就会报错:

print( d['Thomas'])

Python中Dict和Set如何使用

2. 避免key不存在的错误,有两种办法。

2.1. 是通过in判断key是否存在

print('Thomas' in d)

Python中Dict和Set如何使用

2.2. 是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value

d.get('Thomas') print(d.get('Thomas', -1))

Python中Dict和Set如何使用

注:

返回None的时候Python的交互式命令行不显示结果。

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

d.pop('Bob') print(d)

Python中Dict和Set如何使用

3. 和list比较,dict有以下几个特点:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 查找和插入的速度极快,不会随着key的增加而增加;

  3. 需要占用大量的内存,内存浪费多。而list相反:

  4. 查找和插入的时间随着元素的增加而增加;

  5. 占用空间小,浪费内存很少。所以,dict是用空间来换取时间的一种方法。

二、set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合:

s = set([1, 2, 3]) print(s)

Python中Dict和Set如何使用

传入的参数[1, 2, 3]是一个list,而显示的{1, 2,  3}只是告诉这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。

重复元素在set中自动被过滤:

s = set([1, 1, 2, 2, 3, 3]) print(s)

Python中Dict和Set如何使用

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:

s.add(4)  s{1, 2, 3, 4}

Python中Dict和Set如何使用

通过remove(key)方法可以删除元素:

s.remove(2) print(s)

Python中Dict和Set如何使用

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

s1 = set([1, 2, 3]) s2 = set([2, 3, 4]) print(s1 & s2)  print(s1 | s2)

Python中Dict和Set如何使用

set和dict的区别

仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。

三、再议不可变对象

str是不变对象,而list是可变对象。对于可变对象,比如list,对list进行操作,list内部的内容是会变化的。

例:

a = ['c', 'b', 'a'] a.sort() # a['a', 'b', 'c'] print(a)

Python中Dict和Set如何使用

而对于不可变对象,比如str,对str进行操作呢:

a = 'abc' b = a.replace('a', 'A') print(b) print(a)

Python中Dict和Set如何使用

注:

对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。

关于Python中Dict和Set如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Python中Dict和Set如何使用

本文链接: https://www.lsjlt.com/news/281083.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中Dict和Set如何使用
    这篇文章将为大家详细讲解有关Python中Dict和Set如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 一、dictPython内置了字典:dict的支持,dict全称d...
    99+
    2023-06-15
  • Python中set 和dict 的总结
    Setset的定义: set是可变的,无序的,不重复的元素组成的可迭代的集合。 set () 定义一个空集合。set(iterable)  定义一个set例如:set1=set(range(100)) set 中的元素set中的元素必须是可...
    99+
    2023-01-31
    Python set dict
  • 如何分析python中字典dict和集合set
    今天就跟大家聊聊有关如何分析python中字典dict和集合set,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.字典字典是python中的一种数据结构。它的内容由**键-值(ke...
    99+
    2023-06-22
  • Python基础之dict和set的使用详解
    目录dictset再议不可变对象小结dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言种也称为map,使用键-值(key-value)存储...
    99+
    2024-04-02
  • Python中的Set与dict
    目录一、Set集合类型二、set和dict的数据类型限制一、Set 集合类型 Set 集合类型 (交差并补) 特点 :无序 , 自动去重 集合用{}表示,元素间用逗号分隔建立集合类型...
    99+
    2024-04-02
  • python-字典dict和集合set
    目录1.字典 字典的相关操作 获取字典的长度2.集合 1.字典 字典是python中的一种数据结构。 它的内容由**键-值(key-value)**的方式存在。 dict拥有良好的...
    99+
    2024-04-02
  • python--字典(dict)和集合(set)详解
    目录一、集合1.集合定义2.创建集合3.去重4.集合增删5.关系运算6.排序7.frozenset8.练习9.特性二、字典1.字典定义2.字典打印3.字典元素删除4.setdefau...
    99+
    2024-04-02
  • 怎么理解Python里的dict和set
    本篇内容主要讲解“怎么理解Python里的dict和set”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Python里的dict和set”吧!Python里的dict和set的效率有多高...
    99+
    2023-06-25
  • Python中的Set与dict实例分析
    这篇文章主要讲解了“Python中的Set与dict实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中的Set与dict实例分析”吧!一、Set 集合类型Set 集合类型 ...
    99+
    2023-06-29
  • Python里的dict和set的背后小秘密
    目录Python里的dict和set的效率有多高?字典中的散列表1.散列值和相等性散列表算法dict的实现及其导致的结果1.键必须死可散列的2.字典在内存上的开销巨大3.键查...
    99+
    2024-04-02
  • Python 中如何使用set类型
    本篇文章给大家分享的是有关Python 中如何使用set类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。下面来点简单的小例子说明把。>>> x&n...
    99+
    2023-06-17
  • C++中map和set如何使用
    这篇文章主要介绍了C++中map和set如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++中map和set如何使用文章都会有所收获,下面我们一起来看看吧。一、set1.1 set的介绍首先要知道set...
    99+
    2023-07-05
  • Python中如何使用集合set
    小编给大家分享一下Python中如何使用集合set,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!集合 (set)由不同的元素组成,用{ }大括号括起来,用,逗号隔开无序的集合中的元素必须是比可变类型集合会自动去重例如:s ...
    99+
    2023-06-25
  • python如何使用字典dict统计
    这篇文章主要介绍python如何使用字典dict统计,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用字典 dict 统计循环遍历出一个可迭代对象的元素,如果字典中没有该元素,那么就让该元素作为字典的键,并将该键赋值...
    99+
    2023-06-27
  • Python中的re.findAll()、re.sub()、set()如何使用
    本文小编为大家详细介绍“Python中的re.findAll()、re.sub()、set()如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python中的re.findAll()、re.sub()、set()如何使用”文章能帮助...
    99+
    2023-07-06
  • vue中$set如何使用
    vue中$set如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。代码如下:<!-- 操作 --> &...
    99+
    2024-04-02
  • Python集合set()方法如何使用
    这篇文章主要讲解了“Python集合set()方法如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python集合set()方法如何使用”吧!在python3中按数据类型的可变与不可变...
    99+
    2023-06-29
  • 如何进行Python中Dict的元素定位和遍历
    这篇文章将为大家详细讲解有关如何进行Python中Dict的元素定位和遍历,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。dict 的元素定位(键/值定位)和遍历dict这种对象我们可以通过 ...
    99+
    2023-06-22
  • RMAN中如何使用set命令
    小编给大家分享一下RMAN中如何使用set命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、s...
    99+
    2024-04-02
  • Redis中如何使用set类型
    本篇文章给大家分享的是有关Redis中如何使用set类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 set是s...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作