Python 字典组成的数组怎么进行去重?

网站建设3年前发布
53 0 0

你知道吗?如果数组是字典组成的,直接对数组内的字典采用set的方式进行去重,会报错:,因为使用set去重的前提是该对象为不可变对象,而字典是可变对象,因此无法直接使用该方法去重。,那么怎么解决这个问题呢?有三个办法。,reduce() 函数会对参数序列中元素进行累积。,比如:,上述写法也能用lambda函数简化为:,因此,我们自己编写一个函数进行数组内的字典去重:,稍显复杂,如果使用reduce函数和lambda函数,代码能简化很多:,当然, 我也能一行写完这个功能:,只不过有可能会被打死在工位上,所以不建议这么干。,就如文章开头提到的,字典之所以不能用set去重,是因为它是可变对象。,但是...如果我们把它变成不可变对象呢?,没错,这能成。,如此Python,怎能不好玩?,上面讲了两种骚操作,其实都不太建议在实际工作中使用。,一个原因是真的太骚了,怕被打趴在工位上。,另一个原因是,它们在应对较大数据量的时候,性能不太行。,下面是最正统的方式:,其实和第二种方式一样,是将数组内的每个字典转成元组,也就是不可变对象,再使用set进行去重。去重完毕后再使用dict函数将元组重新组成字典对。,但是,这种方法对于字典内还有字典的数据结构是不适用的,因此对于字典对里还有字典情况的去重,比如:,这种情况我建议使用第二种方式去重:,怎么样,这三种方式你都学会了吗?,本文转载自微信公众号「Python实用宝典」,可以通过以下二维码关注。转载本文请联系Python实用宝典公众号。,2023030613580936b74148001e5cf72d888810eaa1e77c04ad09166

© 版权声明

相关文章