python——dict和set

dict

python的内置字典,全称为dictionary,在其他语言中也称为map,使用键值对存储,具有极快的查找速度

 

实现原理:与查字典一样

key-value存储方式:在放进去的时候,必须根据key的值算出value的位置。key-value时一一对应的,取值的时候可以根据key直接拿到value

dict初始化方法:

  1. 定义时就初始化: eg : 
     d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
  2. 通过key放入:注意:因为key-value是一一对应的,所以当对同一个key进行多次赋值时,会把前面的值覆盖
    d['Adam'] = 67

dict中其他问题:

  1. 如果dict不存在时,查找会报错
  2. 判断key是否存在的两种方法:
  • 通过in判断key是否存在 :存在返回true不存在放回false
  • >>> 'Thomas' in d
    False
  • 通过dict提供的get()方法,如果不存在,返回None,或者自己指定的value
  • >>> d.get('Thomas')
    >>> d.get('Thomas', -1)
    -1
  1. 删除:用pop(key)方法,key对应的value也会被删除

set

set可以看做是数学上无序无重复元素的集合

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

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

如: s = set([1,2,2])

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

  • 通过add(key)方法可以添加元素到set中,可以重复添加,但是无效
  • remove(key)方法可以删除元素
  • set可以看做是数学上无序无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作
  • >>> s1 = set([1, 2, 3])
    >>> s2 = set([2, 3, 4])
    >>> s1 & s2
    {2, 3}
    >>> s1 | s2
    {1, 2, 3, 4}

set与dict 区别:

set只有key,没有存储对应的value

set与dict相同:

set和dict原理一样,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部‘不会有重复元素’

不可变对象

str是不变对象,list是可变对象

可变对象:

内部的内容是可以改变的

不可变对象:

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

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
Python中的数据类型set是一种集合类型,它是基本数据类型之一。set是一个无序的、可变的集合,其中的元素是唯一且不可变的。集合中的元素可以是任意类型,但不能包含重复的元素。set类型没有索引和切片操作。在Python中,set有可变集合和不可变集合两种类型。可变集合可以原地修改,而不可变集合是被"冻结"的,不能进行修改。 创建set类型的方式有多种。可以直接将元素放在花括号{}内,以逗号分隔,即可创建一个集合。集合中的元素可以是任意类型,但不能包含可变元素,如列表、集合或字典。例如,创建一个包含数字、字符串和元组的集合: a = {1, 2, 3, 4, 'a'} 也可以使用set()或frozenset()函数创建集合。set()函数用于创建可变集合,而frozenset()函数用于创建不可变集合。例如,使用set()函数创建一个集合: set('boy') 会返回set(['y', 'b', 'o']) 最后,还可以创建一个空的set集合。 综上所述,Python中的数据类型set是一种无序、可变的集合,其中的元素是唯一且不可变的。可以使用多种方式来创建set集合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python(3):六大数据类型——Tuple/Dict/Set](https://blog.csdn.net/qq_40558166/article/details/96495761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Python数据类型 - set 集合](https://blog.csdn.net/weixin_34357436/article/details/88772949)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值