没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
假设在python中有一字典如下: x={‘a’:’1,2,3′, ‘b’:’2,3,4′} 需要合并为: x={‘c’:’1,2,3,4′} 需要做到三件事: 1. 将字符串转化为数值列表 2. 合并两个列表并添加新的键值 3. 去除重复元素 第1步通过常用的函数eval()就可以做到了,第2步需要添加一个键值并添加元素,第3步利用set集合的性质可以达到去重的效果,不过最后需要再将set集合转化为list列表。代码如下: x={'a':'1,2,3','b':'2,3,4'} x['c']=list(set(eval(x['a'])+eval(x['b']))) del x['a
资源推荐
资源详情
资源评论
Python合并字典键值并去除重复元素的实例合并字典键值并去除重复元素的实例
假设在python中有一字典如下:
x={‘a’:’1,2,3′, ‘b’:’2,3,4′}
需要合并为:
x={‘c’:’1,2,3,4′}
需要做到三件事:需要做到三件事:
1. 将字符串转化为数值列表
2. 合并两个列表并添加新的键值
3. 去除重复元素
第1步通过常用的函数eval()就可以做到了,第2步需要添加一个键值并添加元素,第3步利用set集合的性质可以达到去重的效
果,不过最后需要再将set集合转化为list列表。代码如下:
x={'a':'1,2,3','b':'2,3,4'}
x['c']=list(set(eval(x['a'])+eval(x['b'])))
del x['a'] del x['b'] print x
输出结果为:
{‘c’: [1, 2, 3, 4]}
但是在批量处理中,可能会其中一个键值的元素只有1个,导致编译器会识别为int类型,导致出现错误。
x={'a':'1,2,3','b':'2'}
x['c']=list(set(eval(x['a'])+eval(x['b'])))
del x['a'] del x['b'] print x
运行结果为:
Traceback (most recent call last):
File "test.py", line 2, in <module>
x['c']=list(set(eval(x['a'])+eval(x['b'])))
TypeError: can only concatenate tuple (not "int") to tuple
处理方法是,人为地将’b’中的元素复制一份,使编译器不识别为int:
x={'a':'1,2,3','b':'2'}
x['c']=list(set(eval(x['a'])+eval(x['b']+','+x['b'])))
del x['a'] del x['b'] print x
这样就能正常运行。这里利用了set会去去除重复元素的特点,添加了相同的元素。不过,若是’b’中的元素为空,这个方法也
会失效。这里需要利用python列表中最后一个元素后面允许跟一个逗号的性质,按如下方法处理即可。
x={'a':'1,2,3','b':''}
x['c']=list(set(eval(x['a']+','+x['b'])))
del x['a'] del x['b'] print x
运行结果:
{‘c’: [1, 2, 3]}
最后一种方法也能够处理前两种情况。
以上这篇Python合并字典键值并去除重复元素的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大
家多多支持软件开发网。
您可能感兴趣的文章您可能感兴趣的文章:python ChainMap 合并字典的实现步骤Python编写合并字典并实现敏感目录的小脚本Python实现合并字
典的方法python ChainMap的使用和说明详解在Python中合并字典模块ChainMap的隐藏坑【推荐】
资源评论
weixin_38621553
- 粉丝: 2
- 资源: 935
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于SpringBoot+Vue.JS前后端分离的茶叶商城系统 源码+数据库+论文(毕业设计)
- Microsoft Visual C++ 2010 x86 运行库
- libsso-xiebo.zip
- c++-设计模式之“建造者模式(Builder)”
- mysql安装配置教程.txt
- mysql安装配置教程.txt
- Delphi 12 控件之Delphi12FMX微信收款源代码安卓苹果Delphi12FMX微信收款源代码安卓苹果多平台.rar
- mysql安装配置教程.txt
- 基于SpringBoot+Vue.JS前后端分离的水果在线销售系统 源码+数据库+论文(毕业设计)
- CAN通讯驱动安装环境window10,window11
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功