Python嵌套列表去重

raw_list = [
[ 'CS_SUPP_INFO', 'A', '1'],
[ 'CS_SUPP_INFO', '1', 'A'],
[ 'CS_SUPP_INFO', '1', 'A'],
[ 'CS_SUPP_INFO', 'A', '1'],
[ 'CS_SUPP_INFO', 'A', '2'],
[ 'CS_SUPP_INFO', 'A', '2'],
[ 'CS_SUPP_INFO', 'A', '3']
]
# 排序,只有排序后,下面用集合去重才能排除子列表中子元素顺序的影响
for i,k in enumerate(raw_list):
    k.sort()

# 利用集合的思想去重
temp_set = set(tuple(s) for s in raw_list)
print(temp_set)  # {('2', 'A', 'CS_SUPP_INFO'), ('1', 'A', 'CS_SUPP_INFO'), ('3', 'A', 'CS_SUPP_INFO')}

# 在把集合变成列表
new_list = [list(t) for t in temp_set]
print(new_list)  # [['2', 'A', 'CS_SUPP_INFO'], ['1', 'A', 'CS_SUPP_INFO'], ['3', 'A', 'CS_SUPP_INFO']]

原文地址:https://www.cnblogs.com/friday69/p/10190456.html

时间: 2024-08-03 18:02:29

Python嵌套列表去重的相关文章

python 对列表去重,并保持列表原来顺序

mailto = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] addr_to = list(set(mailto)) addr_to.sort(key = mailto.index)

python列表去重 冒泡排序 插序排序

python对列表去重例子 #!/usr/bin/env python arr_num1 = [1,2,3,4,2,12,3,14,3,2,12,3,14,3,21,2,2,3,4111,22,3333,4] arr_num2 = [2,1,3,2,43,234,454,452,234,14,21,14] num_list = [] for i in arr_num1:     if i in arr_num2 and i not in num_list:      num_list.appen

python练习题:循环打印嵌套列表

好久没写博文了,添加一个练习题,选自<head_first_python>~~ python列表:以中括号开始和结束"[]":列表项以逗号","分隔开,使用赋值操作符"="赋予一个标识符.如: movies=["the holy",1975,"terry jones",91,["graham",["michael","john",&qu

PYTHON压平嵌套列表

list 是 Python 中使用最频繁的数据类型, 标准库里面有丰富的函数可以使用.不过,如果把多维列表转换成一维列表(不知道这种需求多不多),还真不容易找到好用的函数,要知道Ruby.Mathematica.Groovy中可是有flatten的啊.如果列表是维度少的.规则的,还算好办例如: li=[[1,2],[3,4],[5,6]] print [j for i in li for j in i] #or from itertools import chain print list(cha

【p2】&#183;python中嵌套列表list元素输出&#183;模块封装&#183;发布上传(pigeon详细说)

如果你也正在学习<Head First Python>,可以相互学习.接下来将记录如何完成书本的这一章以及遇到的问题如何解决. 一.简单访问列表数据 [1]通过位置访问具体数据,0表示第一位[如下图] [2]计算列表长度[使用len] [3]列表末尾增加--删除元素,append增肌,pop删除,注意不同用法 append括号里放想添加元素,列表.pop()就能删除 [4]extend添加多个元素[如想在后面添加5,6,7],留意跟append区别 append保留着数据项中括号,缺陷 ---

Python 字典 列表 嵌套 复杂排序大全

https://blog.csdn.net/ray_up/article/details/42084863 一: 字典排序 解析: 使用sorted 方法, 排序后的结果为一个元组. 可以字符串排序(那数字肯定更没问题了!) 1:  按照键值(value)排序 a = {'a': 'China', 'c': 'USA', 'b': 'Russia', 'd': 'Canada'}b = sorted(a.items(), key=lambda x: x[1], reverse=True)结果:[

Python练习题4(列表去重):[5,3,4,&#39;ok&#39;,4,3,&#39;abc&#39;,8,52,&#39;ok&#39;]去除列表中重复内容 方法一:使用set 方法二:不使用set,自己写方法

方法一:利用集合去重 1 list1 = [5,3,4,'ok',4,3,'abc',8,52,'ok'] 2 list1=list(set(list1)) 3 print(list1) 方法二:此方法略微冗余,先判断元素是否重复,再将重复元素提取并保存到新列表中,再for 新建的列表元素,删除原列表 1 def list_dup(ls): 2 list2 = [] 3 length = len(ls) #获取列表元素个数 4 for i in range(0,length-1): 5 for

python 展开嵌套列表

python 展开嵌套列表 目录 python 展开嵌套列表 引言 方法1,创建递归函数 方法2,使用列表推导式 其他的方法 引言 Python中的列表还可以将不同数据类型的项放在一个列表中.所以,一个嵌套的列表就是是一个包含多个列表的列表,例如[1,2,[3],[4,[5,6]]. 通常,我们需要将这些嵌套列表转换为平面列表(flatted a nested list),以便对数据执行常规列表操作. 方法1,创建递归函数 首先介绍,python中对一个嵌套的list,和一个空列表[],进行su

Python 7 列表 for 字典,嵌套

列表: 基本格式:变量名 = [元素1,元素2,元素3] 创建:A = ['访客','admin',19]  或  A = list(['armin','admin',19]),  后者更倾向于转换为列表这样的功能. 直接定义的话第一种即可. in判断:  if "访客" in A:       用于判断字符串  访客 是否包含在A当中.  此处判断的最小单位就是列表中的三个元素,   不能判断元素当中更详细的字符了.   if 9 in A[2]:  用于判断数字9 是否包含在A列表