首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Python定义集合方法【大全】

Python集合又是一种新的数据类型,集合有两种形式:可变集合set()和不可变集合frozenset()两种,这两种集合操作方法比较类似,但是在底层性质上有截然想法的区别。...集合是一种无序的,不重复且不可随机访问的元素集合,在概念和运算上和数学集合类似,集合分为可变和不可变两种。..., 3, 2) # 不可变,有序:可以通过下标访问 dict1 = {'name': 'Tom', 'age': 18, 'love': 'python'} # 可变,无序:但可以通过键访问 二、可变集合构造方法...set9 = set() set99 = frozenset() 2.集合不能包含字典和列表这样的可变类型元素 set10 = {'name', 19, [1, 2, 3, 2]} 列表不可哈希:TypeError...: unhashable type: 'list' ---- 以上是可变集合和不可变集合的构造方法讲解,当然也是有配套视频讲解的,或许新手看视频会更好吸收消化一些,视频在python自学网(www.wakey.com.cn

2K31

js复制方法总结

js中有深拷贝和浅拷贝两种复制形式,下面总结一下常用方法,方便平时工作复习使用 一、浅拷贝 1、json对象浅拷贝 var newObj = JSON.parse(JSON.stringify( someObj...*/ 二、深拷贝 1、借助lodash的merge方法 import merge from "lodash/object/merge"; function commentsById(state = {...2 map2.get('b') // 50 尽量保持数据 4、jquery的$.extend()  如果没有第一个参数则为浅拷贝 $.extend(true, {}, obj) 5、JSON对象的方法...var obj2 = JSON.parse(JSON.stringify(obj1)) 熟悉js的人对这两个方法肯定不陌生,利用原生JSON对象的两个可以非常方便地实现对象的深复制。...这种方法也有弊端: 只能复制能用json表示的属性,比如String、Number、Array等,对于不能用json表示的属性例如Function、Regexp等则会丢失 对象的原型链丢失 复制效率较低

3.4K40

JS的indexOf方法

indexOf()简介 indexOf()是js内置的方法之一,它的功能大家都很熟悉:简单来说就是得到数据的索引,对于正则不熟练的人,是个很不错的方法。...的场景进行讨论(其实就是string和array) 注:(暂不讨论两个参数时(第二个参数为查询的起始位置),以及lastIndexOf()) String类型使用indexOf(); String的...----------'); 相信大家已经发现特点,也就是string的IndexOf()是对数据进行了隐式类型转换的,如果参数是数值它会转换为字符来进行查询然后返回索引,本质原因是什么呢,那就是 我们js...底层代码String.prototype.indexOf()使用的是==进行比较判断; Number类型的IndexOf() 醒醒,Number类型哪来的indexOf()方法,会直接报错的好吗,...如果想对数值类型的进行查询索引,可以将数值转换为字符再进行查询,方法有很多: – String() – .toString() – 与空字符’’进行+拼接 Array类型的indexOf()

5.1K40

HashSet集合hashCode及equals方法详解

由于HashSet集合的元素不能重复存储,那应该怎样做呢?...内存,所在内存编号一致(相同); 4)内存编号表示:哈希码值(哈希码值一般是  类名  和  对象所在内存地址的十六进制数字表示的集合) 第二:(现实共同观念) 现实生活只要属性相同,我们就认为这两个对象就是同一个对象...程序向HashSet集合添加一个元素时,先调用对象的hashCode()方法计算出该对象的哈希码值; 比较: (1)如果该对象与集合中所存储的全部对象的哈希码值不一致,则该对象就不重复,计算出该对象在哈希表的索引位置...,直接添加; (2)如果该对象与集合存储的某一对象哈希码值一致(重码现象),那就需要通过equals()方法判断相同哈希码值的对象是否为同一对象(判断标准:属性是否相同); a)相同对象,新值覆盖旧值...HashSet集合底层采用了哈希算法实现,多个不同的对象可能返回的哈希码值不同,但是通过计算得到的哈希表的索引位置相同,这样就再次需要通过equals()方法来判断这两个对象的属性值是否相同,比较完再做相应的处理

57990

HashSet集合hashCode及equals方法详解

由于HashSet集合的元素不能重复存储,那应该怎样做呢?...(相同); 4)内存编号表示:哈希码值(哈希码值一般是  类名  和  对象所在内存地址的十六进制数字表示的集合) 第二:(现实共同观念) 现实生活只要属性相同,我们就认为这两个对象就是同一个对象,但这与计算机比较同一个对象的方法不同...程序向HashSet集合添加一个元素时,先调用对象的hashCode()方法计算出该对象的哈希码值; 比较: (1)如果该对象与集合中所存储的全部对象的哈希码值不一致,则该对象就不重复,计算出该对象在哈希表的索引位置...,直接添加; (2)如果该对象与集合存储的某一对象哈希码值一致(重码现象),那就需要通过equals()方法判断相同哈希码值的对象是否为同一对象(判断标准:属性是否相同); a)相同对象,新值覆盖旧值...HashSet集合底层采用了哈希算法实现,多个不同的对象可能返回的哈希码值不同,但是通过计算得到的哈希表的索引位置相同,这样就再次需要通过equals()方法来判断这两个对象的属性值是否相同,比较完再做相应的处理

1.6K20

JS 数组 reduce 方法详解

一、reduce 方法 reduce() 方法接收一个函数作为累加器(accumulator),数组的每个值(从左到右)开始缩减,最终为一个值。...也就是说,这个累加器会从第一个累加值开始,不断对累加值和数组的后续元素调用该累加器,直到数组的最后一个元素,最后返回得到的累加值。...total = items.reduce(reducer, { sum: 1 }); console.log(total); // {sum: 1111} ③ 多维度的数据叠加 使用 reduce 方法可以完成多维度的数据叠加...如上例的初始值 {sum: 0},这仅仅是一个维度的操作,如果涉及到了多个属性的叠加,如 {sum: 0,totalInEuros: 0,totalInYen: 0},则需要相应的逻辑进行处理 在下面的方法...,采用分而治之的方法,即将 reduce 函数第一个参数 callback 封装为一个数组,由数组的每一个函数单独进行叠加并完成 reduce 操作。

6.1K40

JS的数组方法

JS的数组方法总结 Array.push() 向数组的末尾添加一个或者多个元素,并返回新的长度 let arr =[1,2,3]; console.log(arr.push(6)) //打印结果为...打印结果 “1+2+3+4” console.log(arr) // 结果 [1,2,3,4] Array.toString() 将数组用逗号连接作为字符串返回,和join()作用一样但是不能参...return a+b })) //结果 6 Array.reduceRight() 将数组元素计算为一个值,和reduce()一样,只是循环方向相反从最后一个元素开始 Array.sort() 不参默认按照...UniCode码排序,也可以参指定排序方法,arr.sort(fn(second,fitst)),该方法会改变原数组 let arr = [2,1,3] console.log(arr.sort((...) //结果 2 Array.findIndex() 返回数组符合条件的第一个元素的下标,若数组没有元素符合要求则返回-1,不改变原数组 let arr = [1,2,3] console.log

6.2K21
领券