Python list中去重的多种方法

Python列表去重的多种方法 在Python编程中,列表是常用的数据结构之一。有时,我们需要确保列表中的元素是唯一的,即去除列表中的重复元素。Python提供了多种方法来实现列表去重,不同的方法适用于不同的场景,下面将详细介绍这些方法。 阅读详情

去重之后顺序会改变

set去重 (列表去重会让列表改变原来的顺序)

l1 = [1,4,4,2,3,4,5,6,1]
l2 = list(set(l1))
print(l2)    # [1, 2, 3, 4, 5, 6]

但是,可以通过列表中索引(index)的方法保证去重后的顺序不变。

l1 = [1,4,4,2,3,4,5,6,1]
l2 = list(set(l1))
l2.sort(key=l1.index)
print(l2)      # [1, 4, 2, 3, 5, 6]
itertools.groupby

itertools.groupby

import itertools
l1 = [1,4,4,2,3,4,5,6,1]
l1.sort()
l = []
it = itertools.groupby(l1)
for k,g in it:
    l.append(k)
print(l)      # [1, 2, 3, 4, 5, 6]

fromkeys

l1 = [1,4,4,2,3,4,5,6,1]
t = list({}.fromkeys(l1).keys())
# 解决顺序问题
t.sort(key=l1.index)
print(t)         # [1, 4, 2, 3, 5, 6]

通过删除索引

l1 = [1,4,4,2,3,4,5,6,1]
t = l1[:]
for i in l1:
    while t.count(i) >1:
          del t[t.index(i)]
# 解决顺序问题
t.sort(key=l1.index)
print(t)    # [1, 4, 2, 3, 5, 6]

去重不改变顺序

建立新列表[]

l1 = [1,4,4,2,3,4,5,6,1]
new_l1 = []
for i in l1:
    if i not in new_l1:
        new_l1.append(i)
print(new_l1)    # [1, 4, 2, 3, 5, 6]

reduce方法

from functools import reduce
l1 = [1,4,4,2,3,4,5,6,1]
func = lambda x,y:x if y in x else x + [y]
print(reduce(func,[[],]+l1))   # [1, 4, 2, 3, 5, 6]

python中list去重的方法以及TypeError: unhashable type: 'list'问题解析 list常用去重方法 在python中使用list存储数据时有时候需要list中的数据不能重复,这样就需要用到去重操作,因为set是会自动把重复的内容去掉的,所以常用的简单去重方法是先将list转为set,然后再转为list。如: a = [1,4,8,2,4,1] a = list(set(a)) print(a) 输出的结果为:[8, 1, 2, 4] 这样就轻松完成了去重操作。 TypeE... 阅读详情

相关推荐

避开这些坑!用Python ReportLab生成PDF时字体处理与中文排版的5个关键技巧

本文针对Python ReportLab库在PDF自动化生成中常见的中文排版难题,提供了五个关键技巧。内容涵盖字体注册的稳健策略、段落样式的精细控制、表格内中文的换行对齐、页面布局管理以及性能优化,旨在帮助开发者彻底解决中文乱码、排版错位等问题,生成专业美观的PDF文档。

weixin_29250403的博客 623

Python中对列表list去重的4种实现方法

Python中对列表list去重 自己写直接的方法 保留原顺序。 old_list = [2, 3, 4, 5, 1, 2, 3] new_list = [] for i in old_list: if i not in new_list: new_list.append(i) print(new_list) # [2, 3, 4, 5, 1] 用字典dict去重 使用list项作为键创建dict,这将自动删除任何重复项,因为dict不能有重复的键,保留原顺序。 old_

HRD的博客 1万+

ROS牛耕法全覆盖规划:从算法原理到清洁机器人实战解析

本文深入解析ROS牛耕法全覆盖规划算法在清洁机器人中的应用,从算法原理到实战优化技巧全面覆盖。详细介绍了地图预处理、区域分解和路径优化等关键步骤,并分享实际案例中的解决方案,帮助开发者提升机器人清扫效率和覆盖率。

weixin_27013291的博客 390

python对列表进行去重_【Python】对字典列表进行去重追加

【Python】对字典列表进行去重追加发布时间:2020-08-01 01:08:18来源:51CTO阅读:1696作者:对唔住[TOC]目标现有字典列表#A = [ {dict1}, {dict2} ]B = [ {dict3}, {dict2} ]C = [ {dict3}, {dict4} ]M = [A,B,C]X = []将M去重后的字典放入列表X中,得到X = [{dict1}, {...

weixin_39954487的博客 329

使用VS Code创建第一个Flutter工程

你可以使用任意文本编辑器结合命令行工具来开发Flutter应用。然而,我们推荐使用本文介绍的编辑器插件以获取更好的开发体验。这些插件提供了代码补全、代码高亮、widget辅助编辑等功能,以及为项目的运行和调试提供支持。推荐的开发工具有VS Code、Android Studio、IntelliJ。本文将重点介绍如何使用VS Code进行Flutter应用开发。

2501_91373349的博客 2126

ADS(Arm Developer Suite)安装的坑!

实验课老师让我们区安装ADS,作为嵌入式开发的工具,原本以为这只是一个简单的软件,但是当我安装的时候,我才发现这软件太难了!安装了我大半天,看了其他的博客之后,最终才安装成功???????? 安装过程的一个巨坑就是:安装路径!以及安装许可注册文件 如果没有注意路径,最后安装成功以后打开软件就是蜜汁报错???? 报错了怎么办?删掉已安装的东西,重新安装吧,而且要删干净 再次安装的时候,打开安装包是这个提示...

weixin_42795819的博客 8217

Python列表(list)元素去重的几种方法

方法一:使用set。此种方法会将列表内元素自动排序 In [1]: L = [3,2,4,6,5,6,1] In [2]: L = set(L) In [3]: list(L) Out[3]: [1, 2, 3, 4, 5, 6] 方法二:使用字典函数,此种方法将不会改变列表内元素顺序 In [5]: L = [3,2,4,6,5,6,1] In [6]: d = {} In [...

qq_41551919的博客 2057

SeetaFace6人脸活体检测C++代码实现Demo

活体检测是判断人脸图像是来自真人还是来自攻击假体(照片、视频等)的方法。 人脸识别系统存在被伪造攻击的风险。因此需要在人脸识别系统中加入活体检测,验证用户是否为真实活体本人操作,以防止照片、视频、以及三维模型的入侵,从而帮助用户甄别欺诈行为,保障用户的利益。

mickey2007的博客 3468

python列表常见的5种去重方法

注python内置函数sorted()函数返回新的列表,并不对原列表做任何修改。问题使用set()函数去重后,会自动排序,则原列表的顺序会发生改变。以上就是关于列表去重的5种方法,可以根据需求选择对应的方法。结果[‘a’,‘b’,1,3,9]结果[‘a’,‘b’,1,3,9]结果[1,3,9,‘b’,‘a’]结果[‘a’,‘b’,1,3,9]结果[‘a’,‘b’,1,3,9]结果[‘a’,‘b’,1,3,9]第一种方法,使用sort()方法。...

叶落无痕的博客 4万+

如何对EMB电子机械制动器的热衰退问题进行优化

摘要 电子机械制动器(EMB)在新能源汽车和自动驾驶中具有重要应用价值,但其在高强度工况下会出现热衰退现象。本文分析了EMB热衰退的五大机理:摩擦副热效应、电机热衰退、减速机构热失效、温度对控制策略干扰以及结构设计导致的热积累。针对这些问题,提出了从材料、结构、控制三个维度的优化措施:升级耐高温材料、改进散热设计、优化控制算法等。通过"热生成抑制-热传导优化-热失效补偿"的系统方案,可有效改善EMB的热衰退问题,为智能汽车提供更可靠的制动保障。

m0_59012156的博客 341

ARINC429协议分析

如下表所示,ARINC429在发送一帧过程中,首先发送以START开始,以END结束,共发送32bits数据,其中0~7bits为Lable数据,9~8bits为SDI数据,10~28bits为数据,29~30bits为SSM,31bit为校验位End30292827262524校验位SSM2322212019181716DATA15141312111098SDI7654321Start。

5221

python 中对list去重的两种方法

1、直观方法 li=[1,2,3,4,5,1,2,3] new_li=[] for i in li: if i not in new_li: new_li.append(i) print(new_li) 先建立一个新的空列表,通过遍历原来的列表,再利用逻辑关系not in 来去重。 总结:这样可以做出来,但是过程不够简单。但是此方法保证了列表的顺序性。 2、利用set的自动去重功能 ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025

python学习者的博客 3万+

OFDM调制解调系统信道估计和均衡算法的MATLAB仿真

然后,从接收到的信号中提取导频序列,并使用LS算法进行信道估计。OFDM(正交频分复用)是一种常用于高速数据传输的调制技术,它将高速数据流分割成多个低速子载波,通过在不同的子载波上传输数据,实现了频域上的正交性。因此,信道估计和均衡算法在OFDM系统中起着至关重要的作用,用于减小信道衰落引起的影响。通过运行上述代码,可以进行基于LS算法的OFDM调制解调系统信道估计和均衡的MATLAB仿真。本文将介绍一种基于LS(最小二乘)算法的OFDM调制解调系统信道估计和均衡算法,并提供相应的MATLAB仿真代码。

uote_e的博客 229

python中对list去重的多种方法

怎么快速的对列表进行去重呢,去重之后原来的顺序会不会改变呢? 1.以下的几种情况结果是一样的,去重之后顺序会改变: ids = [1,2,3,3,4,2,3,4,5,6,1] news_ids = [] for id in ids: if id not in news_ids: news_ids.append(id) print news_ids 或用set ids = ...

Python热爱者的博客 629

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Python对list中元素去重的方法(包括原序去重)

笔者小白在日常中遇到了需要对list列表中的元素去重的情况,根据相关资料整理,现将python中的一些方法归纳如下: 1、遍历 先建立一个新的空列表,通过遍历原来的列表,再利用逻辑关系not in 来去重。 这样可以做出来,但是过程不够简单。不过此方法保证了列表的顺序性。 li=[1,2,3,4,5,1,2,3] new_li=[] for i in li: if i not in...

JohnieLi的博客 9万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python按照list中字典的某key去重

python按照list中字典的某key去重一、需求说明二、我的解决方案写在最后 一、需求说明 当我们写爬虫的时候,经常会遇到json格式的数据,它通常是如下结构: data = [{'name':'小K','score':100}, {'name':'小J','score':98}, {'name':'小Q','score':95}, {'name':'小K','score':100}] 很显然名字为小K的数据重复了,我们需要进行去重。通常对于list的去

kimol君的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python中对list去重的方法

lista = [‘1’,‘2’,‘1’,‘2’,‘3’,‘4’,‘2’] 第一种 print(set(lista)) 输出类型为 <class ‘set’> 输出结果为 {‘1’, ‘3’, ‘2’, ‘4’} 顺序不一致 且类型发生改变 第二种 print(list(set(lista))) 输出类型为 第四种 data=list(set(lista))...

墨茶Official 愿你在二次元有吃不完的草莓 饺子(ㄒoㄒ) 4996

Python开发之list中的多重嵌套合并去重

前言:做数据处理这一块,少不了得数据去重这一块,今天趁此机会,总结一下list常用的去重,第三个是重点全网独此一分,还希望大家多给给关注!

等待着冬天的风的博客 4750

python链表去重-python中对list去重的多种方法

怎么快速的对列表进行去重呢,去重之后原来的顺序会不会改变呢?1.以下的几种情况结果是一样的,去重之后顺序会改变:ids = [1,2,3,3,4,2,3,4,5,6,1]news_ids = []for id in ids:if id not in news_ids:news_ids.append(id)print news_ids或用setids = [1,4,3,3,4,2,3,4,5,6,1...

weixin_39997795的博客 400

python list去重函数_python中对list去重的多种方法

今天遇到一个问题,在同事随意的提示下,用了itertools.groupby这个函数。不过这个东西最终还是没用上。问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变。直观方法最简单的思路就是:代码如下:ids = [1,2,3,3,4,2,3,4,5,6,1]news_ids = []for id in ids:if id not in news_ids:news_ids.appe...

weixin_39981400的博客 280

python list去重函数_python中对list去重的几种方法

这篇文章主要介绍了python中对list去重的多种方法,现在分享给大家,需要的朋友可以参考下今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数。不过这个东西最终还是没用上。问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变。直观方法最简单的思路就是:复制代码 代码如下:ids = [1,2,3,3,4,2,3,4,5,6,1]news_ids...

weixin_39801991的博客 1309

Python中高效实现数据去重的多种方法

print(unique_df['col1'].tolist()) # 输出: [1, 2, 3, 4, 5]print(unique_df['col1'].tolist()) # 输出: [1, 2, 3, 4, 5]print(unique_df['col1'].tolist()) # 输出: [1, 2, 3, 4, 5]print(unique_data) # 输出: [1, 2, 3, 4, 5]print(unique_data) # 输出: [1, 2, 3, 4, 5]

jLQlFNWM的博客 683

Python列表中去重的多种方法

怎么快速的对列表进行去重呢,去重之后原来的顺序会不会改变呢? 去重之后顺序会改变 set去重 列表去重改变原列表的顺序了 l1 = [1,4,4,2,3,4,5,6,1] l2 = list(set(l1)) print(l2) # [1, 2, 3, 4, 5, 6] 但是,可以通过列表中索引(index)的方法保证去重后的顺序不变。 l1 = [1,4,4,2,3,4,5,6,1] l2 = list(set(l1)) l2.sort(key=l1.index) print(..

qq_40692494的博客 606

python去重的方法_python中对list去重的多种方法

今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数。不过这个东西最终还是没用上。问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变。直观方法最简单的思路就是:代码如下:ids = [1,2,3,3,4,2,3,4,5,6,1]news_ids = []for id in ids:if id not in news_ids:news_ids.ap...

weixin_39951930的博客 128
上一篇: Python unicode 字符串 转 list
下一篇: pycharm 常用快捷键整理
喵星人Xcode
博客等级 码龄11年 235粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值