Python中的 Set 与 dict
作者:就在日落之前 发布时间:2022-04-09 20:20:33
标签:Python,Set,dict
一、Set 集合类型
Set 集合类型 (交差并补) 特点 :无序 , 自动去重
集合用{}表示,元素间用逗号分隔
建立集合类型用{}或set()
建立空集合类型,必须使用set
定义一个普通的集合
setvar = {"shy","肉鸡","gala","小虎","狼牙山五壮士"}
print(setvar , type(setvar) ) //打印出来随机排列,无序
可以获取其中的元素吗? 不行
print(setvar[0]) // error
可以修改其中的元素吗? 不行
setvar[0] = "嘻嘻" // error
setvar = {"shy","肉鸡","gala","小虎","牙山","shy"}
print(setvar)
定义一个空集合
setvar = {} # 字典 //{} <class 'dict'>
setvar = set() # 空集合 //srt() <class 'dict'>
print(setvar , type(setvar))
dict
字典类型 键值对存储的数据,可获取,可修改 表面上有序,实际存储时无序
在
python3.5
之前 完全无序, 在python3.5之后 表面上有序,存储时无序语法:{键1:值1 ,键2:值2 , 键3:值3 … }
映射是一种键(索引) 和值(数据)的对应
"streetAddr" : "中关村南大街55号"
"city" : "北京市"
定义一个空的字典
dictvar = {}
print(dictvar , type(dictvar))
定义一个普通字典
dictvar = {"top":"shy","middle":"肉鸡","bottom":"gala","support":"小明","jungle":"wei"}
print(dictvar)
获取字典中的数据
res = dictvar["support"]
res = dictvar["jungle"]
print(res)
修改字典中的数据
dictvar["bottom"] = "jacklove"
print(dictvar)
二、set 和 dict 的数据类型限制
字典的键 和 集合的值 有数据类型限制只能使用如下类型: (不可变的数据类型 可哈希的数据类型)
Number(int float bool complex) , str , tuple
可变数据: set dict list
字典的键是唯一的,字典的值没有数据类型的限制;
字典:
dictvar = {1:1 , "222":2 , 3.14:4 , 5-90j:5 , False:999 , (1,2,3,4,5):[1,2,4] }
print(dictvar , type(dictvar))
集合:
setvar = {1,3.4,"sd",(1,2,3),4-10j,False } //如果是True,则会被去重
print(setvar)
(了解) 哈希算法:
为了更加均匀的把数据分配到内存中,于是采用哈希算法,以减少哈希碰撞.更快的存储数据
哈希算法要求数据类型只能是不可变的数据 (Number str tuple) ,也叫可哈希数据类型
哈希算法存储的数据都是无序的,所以字典和集合无序;
来源:https://blog.csdn.net/qq_52330730/article/details/123414382


猜你喜欢
- 题目:一个六位数,分别用2,3,4,5,6乘它,得到的五个新数仍是由原数中的六个数字组成,只是位置不同,则此六位数是多少?function
- 一开始没看懂stddev是什么参数,找了一下,在tensorflow/python/ops里有random_ops,其中是这么写的:def
- PHP天然就对MySQL有良好的支持,但是想要用PHP对SQL Server进行操作,则需要花点时间了。今天刚好团队里的一个项目需要用PHP
- exec函数,可以循环定义、赋值多个变量exec ("temp%s=1"%1)这段代码的意思是,让exec执行temp1
- pandas转数组np.array(pandas)数组转pandaspandas.DataFrame(numpy)pandas连接,只是左右
- 搜索引擎是通过分析网页源代码来分析页面文本信息的逻辑性,所以在编写网页代码的时候一定要尽可能使用合适的标签来体现文本表达的层次感,也即是让搜
- 如何最大限度地实现安全登录功能? 具体方法如下(这是一个程序,为便于说明,中间用虚线“------”将代
- 让我们首先考虑正方形和长方形。如果我们认为在接口方面,忽略了实现细节,方块是否是矩形的子类型?子类型的定义取决于Liskov代换原理。为了成
- 今天研究了下Python中的传值问题,通常在C、C++中有按值传递和按引用传递两种情况,按值传递时会拷贝实参,而按引用传递时只是给形参赋了一
- Mysql 删除重复数据保留一条有效数据一、Mysql 删除重复数据,保留一条有效数据DELETE FROM SZ_Building WHE
- 自己编写的用于对lineEdit编辑框输入的子网,例如:192.168.60.1/24字符串校验是否合规。# 限制lineEdit编辑框只能
- 本文实例讲述了Python Web框架之Django框架文件上传功能。分享给大家供大家参考,具体如下:上传方式:- Form表单上传文件-
- 交换变量 x = 6y = 5x, y = y, xprint x>>> 5print y>>>
- 本文实例为大家分享了tkinter+pygame+spider实现音乐播放器,供大家参考,具体内容如下1.确定页面SongSheet&nbs
- 代码import turtleturtle.bgcolor("black")turtle.pensize(2)sizeh
- 1、冒泡排序它反复访问要排序的元素列,并依次比较两个相邻的元素。如果顺序(如从大到小)错了,就交换它们。访问元素的工作是反复进行,直到没有相
- 先用使用常规方法,两个指针:golang实现:type Node struct { value int next *
- 1. 多线程的作用简而言之,多线程是并行处理相互独立的子任务,从而大幅度提高整个任务的效率。2. Python中的多线程相关模块和方法Pyt
- 在使用TensorFlow训练神经网络时,首先面临的问题是:网络的输入此篇文章,教大家将自己的数据集制作成TFRecord格式,feed进网
- 本篇文章教大家写一个非常简单的Select组件,想必很多人都写过Select,毕竟它太常用了,但是本篇文章的示例使用到了Vue的自定义指令,