• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python合并字典键值并去除重复元素的实例

Python合并字典键值并去除重复元素的实例

作者:jingxian 字体:[增加 减小] 来源:互联网

jingxian 通过本文主要向大家介绍了python 字典键值,python 字典删除键值,python 键值对,python中键值对输出,python 遍历字典等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

假设在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
</div>

输出结果为:

{'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
</div>

运行结果为:

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
</div>

处理方法是,人为地将'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
</div>

这样就能正常运行。这里利用了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
</div>

运行结果:

{'c': [1, 2, 3]}

最后一种方法也能够处理前两种情况。

以上这篇Python合并字典键值并去除重复元素的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>

您可能想查找下面的文章:

  • Python合并字典键值并去除重复元素的实例
  • 浅谈python字典多键值及重复键值的使用
  • python字典多键值及重复键值的使用方法(详解)
  • python字典键值对的添加和遍历方法
  • 在Python中用get()方法获取字典键值的教程

相关文章

  • Python使用Socket(Https)Post登录百度的实现代码
  • Python使用scrapy采集时伪装成HTTP/1.1的方法
  • python 图片验证码代码分享
  • python检测远程udp端口是否打开的方法
  • 使用python实现生成用户信息
  • Windows下Python的Django框架环境部署及应用编写入门
  • 浅谈Python中用datetime包进行对时间的一些操作
  • TensorFlow实现打印每一层的输出
  • Python中for循环控制语句用法实例
  • Python的randrange()方法使用教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 详解在Python中处理异常的教程
    • Python实现队列的方法
    • Python使用scrapy采集时伪装成HTTP/1.1的方法
    • Python正则表达式的使用范例详解
    • Python采用Django开发自己的博客系统
    • Python实现命令行通讯录实例教程
    • 使用C#配合ArcGIS Engine进行地理信息系统开发
    • Python中编写ORM框架的入门指引
    • Python3使用requests包抓取并保存网页源码的方法
    • Pycharm学习教程(3) 代码运行调试

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有