python 字典中 重复值去除
tuple_r_dict = lambda _dict: dict(val[::-1] for val in _dict.items()) # Python3.x tuple_r_dict(tuple_r_dict(z)) 整理一下相关知识
1、lambda 匿名函数,冒号前为参数,个数可以有0个或多个,冒号右边为返回值
lambda [arg1 [, agr2,.....argn]] : expression
lambda [参数1[参数2,...]]:返回值
f1=lambda x:x+1
print('f1(2):',f1(2)) f2=lambda :'a'
print('f2(2):',f2()) #输出
#f1(2): 3
#f2(): a
tuple_r_dict = lambda _dict: dict(val[::-1] for val in _dict.items())
这句表明创建一个匿名函数
输入:_dict
输出:dict(val[::-1] for val in _dict.items())
2、 dict()
dict()生成一个字典
3、 _dict.items()
dict.items()返回字典的(键,值)元组对的列表
dic={7:'d',9:'s',5:'a'}
print('dic:',dic)
print('dic.items():',dic.items())
#输出
#dic: {9: 's', 5: 'a', 7: 'd'}
#dic.items(): dict_items([(9, 's'), (5, 'a'), (7, 'd')])
4、val[::-1]
把元组对顺序对调
(1,'A')[::-1] => ('A',1)
L[1,2,3,4,5][:4:2] => [1,3] #取列表中的前4个数,步长为2//第一个冒号左右两边代表在这个列表中的截取范围,第二个冒号右边代表截取范围内每2个取一个数
总结:
生成一个匿名函数,函数返回一个字典dict(val[::-1] for val in _dict.items())
_dict.items()先返回原字典的(键,值)元组对列表
val[::-1] for val in _dict.items() 遍历列表,把列表中的每个元组对中两个值位置对调
dict()把列表转变为字典
至此,生成的新字典的键为旧字典的键值,新键值为旧字典的键。利用字典的键唯一性,去除旧字典的重复键值。
再执行一次tuple_r_dict(tuple_r_dict(z)),把键值对再对调回来
python 字典中 重复值去除的更多相关文章
- Python字典中的值为列表或字典的构造方法
转自: https://blog.csdn.net/buside/article/details/81323871 1.值为列表的构造方法 dic = {} dic.setdefault(key,[] ...
- JS去除数组中重复值的四种方法
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
- Remove Duplicates from Sorted List 去除链表中重复值节点
Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...
- Python访问、修改、删除字典中的值
Python访问字典中的值: # 使用字典 ['键'] 获取字典中的元素 dic = {'a':123,'b':456,'c':789} print(dic['a']) # print(dic['c' ...
- python字典改变value值方法总结
今天这篇文章中我们来了解一下python之中的字典,在这文章之中我会对python字典修改进行说明,以及举例说明如何修改python字典内的值.我们开始进入文章吧. 首先我们得知道什么是修改字典 修改 ...
- Python 字典(键值对)
Python 字典(键值对) 创建字典 特性:字典中的键不能变,而且唯一 格式:变量名={"键1":值1,"键2":值2} 函数 作用 dict() 强制转换为 ...
- 十四、python字典中的方法汇总
'''1.访问.修改,删除字典中的值:''' dict={'a':'11','b':'22','c':'33','d':'44'}print dict['a'],dict['d'] #访问dict[' ...
- 获取字典中values值中最大的数,返回对应的keys
1.字典中键值对的获取 print(data.values()) # 查看字典的值 print(data.keys()) # 查看字典的key 2.对字典中的值进行排序 sorted(data.val ...
- 判断python字典中key是否存在的两种方法
今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下: 第一种方法:使用自带函数实现. 在python的字典的属性方法里面有一个has_key()方法,这个方法使 ...
随机推荐
- LNMP(二)
第二十一课 LNMP(二) 目录 一.默认虚拟主机 二.Nginx用户认证 三.Nginx域名重定向 四.Nginx访问日志 五.Nginx日志切割 六.静态文件不记录日志和过期时间 七.Nginx防 ...
- nginx——优化 Nginx 站点目录
1. 禁止解析指定目录下的指定程序 location ~ ^/data/.*.(php|php5|sh|pl|py)$ { # 根据实际来禁止哪些目录下的程序,且该配置必须写在 Nginx 解析 PH ...
- 入门项目 A5-1 interface-bank 第三方接口1
from db import db_handler # 提现接口 def withdraw_interface(name, money): # 定义提现接口,传入name与money参数 user_d ...
- google Kickstart Round G 2017 三道题题解
A题:给定A,N,P,计算A的N!次幂对P取模的结果. 数据范围: T次测试,1 ≤ T ≤ 100 1<=A,N,P<=105 快速幂一下就好了.O(nlogn). AC代码: #inc ...
- XXS level7
(1)输入与第六关相同的Payload:"><A HREF="javascript:alert()"> 查看页面源代码,发现“herf"被过滤 ...
- 如何使用Nunit进行测试(Visual Studio 2017 comminity)
一.环境 操作系统:Windows 版本 10.0.15063 64位 集成环境:Visual Studio 2017 comminity(此后简称vs2017) 编程语言:C# 目标框架:.NET ...
- maven整合ssh框架笔记
具体工程会上传文件sshpro <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:x ...
- C# ZipHelper C#公共类 -- ZipArchive实现压缩和解压
从网上找来个ZipArchive来压缩和解压缩的类,供参考吧 /******************************************************************** ...
- GitHub命令更新
github命令 1.git clone url 从远程master拉代码 2.进入目录 3.拉下来之后,git branch,查看本地分支是否为master,不是的话git checkout mas ...
- 一 Struts框架(下)
1 struts FORM 标签 与jstl标准标签库类似的,struts有专属标签库 form标签用于提交数据 修改addProduct.jsp <%@ page contentType=&q ...