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}
python list转dict_python中将list转为dict相关推荐
- python 对象转dict_python model对象转为dict数据
在接口通讯里经常遇到这种需求,需要将对象的字段名和值均传至接口, user = User.objects.get(id=1) 笨方法1,没错,我这样写过: di = {} di['username'] ...
- python把list转成字典_python中将list转为dict
最近在项目中经常遇到将list转为dict形式,之前都只会用for循环,取出list中的每个值,update到dict中. 示例1 scrabble_scores = [(1, "E A O ...
- Python标准库:内置函数dict(mapping, **kwarg)
Python标准库:内置函数dict(mapping, **kwarg) 本函数是从一个映射函数对象构造一个新字典. 与dict(**kwarg)函数不一样的地方是參数输入是一个映射类型的函数对象,比 ...
- python 将列表中的字符串转为数字_python 将列表中的字符串转为数字
本文实例讲述了python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想要把每个元素转换为数字: ...
- Java中将图片转为GIF(实用)
Java中将图片转为GIF 个人经验总结,如有转载请注明来源. 这里用到了2位大佬写的编码类 AnimateGifEncoder.GifSequenceWriter. 文章目录 Java中将图片转为G ...
- 【Python】pinyin模块将中文转为拼音
[Python]pinyin模块将中文转为拼音 示例代码 示例代码 可以看到数据不是很规范,城市名称既有中文又有英文,而且上海被存储为ShangHai和Shanghai. 对于上海的问题,我们将拼音全 ...
- 通过Python的pdfplumber库将pdf转为图片
文章目录 前言 一.pdfplumber库是什么? 二.安装pdfplumber库 三.查看pdfplumber库版本 四.pdf素材 五.将pdf转为图片 1.引入库 2.定义pdf路径 3.打开P ...
- 浅谈python中的 list、tuple、dict、set
浅谈python中的 list.tuple.dict.set list: 简介: 有序的集合,包含多个元素 数据可以是任意类型 支持索引访问 用[ ]表示,例如a=[ ] 或者 a=list() 访问 ...
- python使用gdal将shp文件转为TIF
python使用gdal将shp文件转为TIF 方法一 # 缺少获取shp文件坐标系的步骤 def vector2raster(inputfilePath, outputfile, resp):sf ...
最新文章
- 17篇论文入选CVPR 2019,百度AI都在关注什么?(附论文地址)
- 谷歌colab实验室使用GPU
- sql根据某个字段拼接另外字段
- Oracle函数大全2
- 做面板数据分位数回归模型_面板数据向量自回归模型
- 第七十三期:2019大裁员!年关将至,裁员比例竟达90%?
- php 递归实现无限极分类和排序_PHP实现选择排序
- python os write_Python 3:写入方法与os.write返回的字节数
- Android成长的幕后推手:工程师鲁宾
- GridView控件事件详解
- linux如何删除密钥链接,如何在不创建新密钥的情况下删除SSH密钥的密码短语?...
- VS自带数据库SqlExpress
- 直连路由的配置-思科模拟器练习(Cisco Packet Tracer)
- pygame中的mixer(含music)模块
- php 打印去掉页眉页脚,window.print打印 去掉页眉页脚及打印链接
- RFC1180 TCP/IP指南
- 通俗易懂的Android root 原理
- 多项式时间 P问题NP问题
- thunderbird 配置exchange邮箱
- python——字符串
热门文章
- .Net Core配置与自动更新
- 在ASP.NET Core中使用AOP来简化缓存操作
- 采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)
- ENVI帮助研究人员发现金矿
- comboBox绑定数据库后SelectedIndexChanged事件出错
- linux之ftp怎么把本地文件拷贝到服务端
- Android studio之迁移定制出现Installation failed with message Failed to finalize session
- linux下使用pidcat找bug
- sql LEFT JOIN RIGHT JOIN(左连接)(mysql)
- python图片解析库_python用来获得图片exif信息的库实例分析