python list转dict_python中将list转为dict

最近在项目中经常遇到将list转为dict形式,之前都只会用for循环,取出list中的每个值,update到dict中。

示例1

scrabble_scores = [(1, "E A O I N R T L S U"), (2, "D G"), (3, "B C M P"), (4, "F H V W Y"), (5, "K"), (8, "J X"), (10, "Q Z")]

如何将上面的list拆分成key为字母,value为分数呢?

LETTER_SCORES = {letter: score for score, letters in scrabble_scores for letter in letters.split()}

通过上式处理后,就会形成{"A": 1..........}此类形式。

首先通过split()函数将字母分开,然后取出letters中的letter作为字典的key值,将分值作为value。

示例2

Letter = namedtuple('Letter', 'name amount value')

distribution = [Letter(name='A', amount='9', value='1'), Letter(name='B', amount='2', value='3'), Letter(name='C', amount='2', value='3'), Letter(name='D', amount='4', value='2'), Letter(name='E', amount='12', value='1'), Letter(name='F', amount='2', value='4'), Letter(name='G', amount='3', value='2'), Letter(name='H', amount='2', value='4'), Letter(name='I', amount='9', value='1'), Letter(name='J', amount='1', value='8'), Letter(name='K', amount='1', value='5'), Letter(name='L', amount='4', value='1'), Letter(name='M', amount='2', value='3'), Letter(name='N', amount='6', value='1'), Letter(name='O', amount='8', value='1'), Letter(name='P', amount='2', value='3'), Letter(name='Q', amount='1', value='10'), Letter(name='R', amount='6', value='1'), Letter(name='S', amount='4', value='1'), Letter(name='T', amount='6', value='1'), Letter(name='U', amount='4', value='1'), Letter(name='V', amount='2', value='4'), Letter(name='W', amount='2', value='4'), Letter(name='X', amount='1', value='8'), Letter(name='Y', amount='2', value='4'), Letter(name='Z', amount='1', value='10')]

如何将上面的distribution中的name和value转换成dict形式?

首先可以先将name和value值分别放到两个list中,可以通过下面代码实现:

names = [letter.name for letter in distribution]

values = [int(letter.value) for letter in distribution]

然后可以通过zip()函数将name和value一一对应起来:

zip(names, values)

for i in zip(names, values):

print(i)

通过循环打印可以发现,name和value已经一一对应上了。

最后将得到的由元组组成的list直接转为dict,在这边只需要直接用dict()函数即可。所以,实现上述功能需求,只需要下面一行代码:

LETTER_SCORES = dict(zip(

[letter.name for letter in distribution],

[int(letter.value) for letter in distribution]

))

得到的结果为:

{'A': 1, 'B': 3, 'C': 3, 'D': 2, 'E': 1, 'F': 4, 'G': 2, 'H': 4, 'I': 1, 'J': 8, 'K': 5, 'L': 1, 'M': 3, 'N': 1, 'O': 1, 'P': 3, 'Q': 10, 'R': 1, 'S': 1, 'T': 1, 'U': 1, 'V': 4, 'W': 4, 'X': 8, 'Y': 4, 'Z': 10}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机无法安装小丸工具箱,小丸工具箱电脑版

小丸工具箱电脑版是一款可以压制H264AAC视频的图形界面工具,内核是x264、neroaac、mp4box等开源软件。小丸工具箱电脑版能够封装mp4或抽取mp4的音频或视频,压制视频中的音频。它的功能非常丰富,是属于实用的视频压制器!小丸工具箱&#xff0c…

一个简单的dotnet tool

dotnet tool对应的工具,本质上是一个控制台应用,在调用这个应用时,会根据传入的参数,执行应用内部的逻辑。关于dotnet tool命令使用,参照https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-tool-install下面…

内存和显存_【硬件资讯】显存再升级?Nvidia新卡实锤GDDR6X!显存大升级能否带来性能提升??...

新闻1:美光泄密 RTX 3090显卡用上GDDR6X显存:带宽堪比HBM2NVIDIA新一代显卡越来越近了,8月31日就有可能公布重大消息,安培GPU核心的RTX 30系列最快下个月就能买到。首发的第一波肯定是高端卡,除了RTX 3080、RTX 3080 T…

Web 2.0 编程思想:16条法则

原文:Thinking in Web 2.0: Sixteen Ways 作者:Dion Hinchcliffe URL:http://sd.csdn.net/n/20060518/90603.html 1、在你开始之前,先定一个简单的目标。无论你是一个Web 2.0应用的创建者还是用户,请清晰的构思你的目标。就像“我…

神舟笔记本电源管理软件_笔记本电脑长期不用充不上电了?原来问题就出在这儿...

也许有很多使用笔记本电脑的用户,都会遇到这样一种情况:笔记本电脑长期没有使用,导致电池充不了电的现象。遇到这样一种情况该如何进行解决呢?这确实有点难倒很多用户了,难道电池坏了,需要重新更换新的笔记…

浅析PageRank算法

机器学习很早就对Google的PageRank算法很感兴趣,但一直没有深究,只有个轮廓性的概念。前几天趁团队outing的机会,在动车上看了一些相关的资料(PS:在动车上看看书真是一种享受),趁热打铁&#xf…

小学计算机课教学设计,小学信息技术教学设计三篇

【导语】教案是教师为顺利而有效地开展教学活动,根据课程标准,教学大纲和教科书要求及学生的实际情况,以课时或课题为单位,对教学内容、教学步骤、教学方法等进行的具体设计和安排的一种实用性教学文书。无忧考网准备了以下内容&a…

Happy 牛 Year!牛年dotnet云原生技术趋势

首先给大家拜个年,祝大家:新年快乐,牛年大吉,牛转乾坤,一往无前!2020年的春节,新冠疫情使得全球业务停滞不前,那时候,没有人知道会发生什么,因此会议被取消&a…

centos7python命令_02.将python3作为centos7的默认python命令

博客为日常工作学习积累总结:由于个人兴趣爱好对python有了解:1.安装Python3:参考博客:https://zhuanlan.zhihu.com/p/47868341安装依赖包:yum -y install zlib zlib-develyum -y install bzip2 bzip2-develyum -y ins…

SELECT语句“加锁选项”功能说明

阅读全文:http://www.cckan.net/forum.php?modviewthread&tid50 SELECT 语句中“加锁选项”的功能说明SQL Server提供了强大而完备的锁机制来帮助实现数据库系统的并发性和高性能。用户既能使用SQL Server的缺省设置也可以在select 语句中使用“加锁选项”来实…

windows传真和扫描由于不能访问您的文档_扫描识别工具Dynamic Web TWAIN全年最低价来了!错过再等一年...

Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者ShareP…

计算机二级链表,计算机二级c语言上机考试——结构体与链表(3页)-原创力文档...

1:某学生的记录由学号、8门课程成绩和平均分组成, 学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。void fun(STREC *a){int i;a&…

程序员新人怎样在复杂代码中找 bug?

我曾经做了两年大型软件的维护工作,那个项目有 10 多年了,大约 3000 万行以上的代码,参与过开发的有数千人,代码 checkout 出来有大约 5 个 GB,而且 bug 特别多,open 的有上千,即使最高优先级的…

谈到云原生, 绕不开容器化

传送门什么是云原生?云原生设计理念.NET微服务Containers现在谈到云原生, 绕不开“容器”。在《Cloud Native Patterns》一书中,作者Cornelia Davis指出:“容器是云原生应用的基石”;云原生基金会将微服务容器化作为云…

python与matlab混合编程_python 与 matlab 混编

Matlab的官方文档中介绍了 Matlab 与其余编程语言之间的引擎接口,其中包括对于 Python 开放的引擎 API,可参考官方教程,其中包括引擎安装,基本使用,以及Python与Matlab之间的数据类型转换及交互。 在 Windows 系统中&a…

四川中级职称计算机考试考b级,四川省职称计算机B级考试1卷

一、单选题:(每题一分)1、安装调制调器不需要( )A.选择生产厂商和Modem型号B.Modem连接的端口C.选择所在国家及外拨电话号码D.选择的Modem的尺寸2、在Windows中,窗口还原是指将窗口还原到原来指定的( )A.窗口 B.尺寸C.图标 D.程序3、在Windows中&#xf…

如果有人问你什么是大数据?不妨说说这10个典型的大数据案例

在听Gartner的分析师Doug Laney用55分钟讲述55个大数据应用案例之前,你可能对于大数据是否落地还心存疑虑。Laney的演讲如同莎士比亚的全集一样,不过可能“缺乏娱乐性而更具信息量”(也许对于技术人员来说是这样的)。 这个演讲是对…

收藏的RabbitMQ资料,分享给大家

WhyRabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的…

网络游戏外挂制作

我一直没有搞懂制作加速外挂是怎么一回事,直到前不久又翻出来了2001年下半期的《程序员合订本》中《“变速齿轮”研究手记》重新回味了一遍,才有了一点点开悟,随后用Delphi重写了一遍,下面我就把我的心得说给大家听听,…

各高校寒假时间公布_高校放假哪家长?多所高校寒假时间公布!

11月25日2021年放假安排公布大家发现2020年已经接近尾声对于学生族来说考试近了寒假也快到了快来看看高校放假哪家长? (如有调整变动,以各高校最新通知为准)山东大学1月11日开始放假到2月28日结束寒假一共49天山东师范大学1月31日开始放假到3月6日结束寒…