鱼C论坛

 找回密码
 立即注册
查看: 836|回复: 3

[已解决]数据构造字典

[复制链接]
发表于 2018-3-23 14:03:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
data=25417         2         30106         3         4472         1         9793         1         11930         1         28322         1

如何将他们构造成字典,并保存。(1-5是value值,大的是key值)
最佳答案
2018-3-23 14:29:06
  1. data='25417         2         30106         3         4472         1         9793         1         11930         1         28322         1'
  2. >>> data = data.split()
  3. >>> dict1 = {int(data[i]): int(data[i + 1]) for i in range(0, len(data), 2)}
  4. >>> dict1
  5. {9793: 1, 28322: 1, 4472: 1, 25417: 2, 30106: 3, 11930: 1}
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-23 14:11:00 | 显示全部楼层
两两配对就行了
dct = {}
for i in range(0,len(data),2):
      dct[data[i]] = data[i+1]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-23 14:25:19 | 显示全部楼层
首先,你这个数据的格式是什么?
重点不在于构建字典,而是先要提取数据,这个就看你的数据是什么格式保存的了,提取到数据就很简单的,字典就是索引嘛
数字作为key跟字符串没什么区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-23 14:29:06 | 显示全部楼层    本楼为最佳答案   
  1. data='25417         2         30106         3         4472         1         9793         1         11930         1         28322         1'
  2. >>> data = data.split()
  3. >>> dict1 = {int(data[i]): int(data[i + 1]) for i in range(0, len(data), 2)}
  4. >>> dict1
  5. {9793: 1, 28322: 1, 4472: 1, 25417: 2, 30106: 3, 11930: 1}
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 19:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表