为了账号安全,请及时绑定邮箱和手机立即绑定

Python:如何将 JSON 中的值设置为列表中的索引?

Python:如何将 JSON 中的值设置为列表中的索引?

慕神8447489 2021-07-29 21:14:25
我正在尝试读取数据集并将 JSON 文件的整数值设置为列表的数组。这是示例 JSON 文件,[{"index_id": "1234","text": "hello world",},{"index_id": "5678","text": "roses are red",}]现在,我刚刚尝试读取 JSON 文件并将所有内容放入 defaultdict(list),这把事情搞砸了。假设我将所有内容都读到L1如果我尝试获取L1[1234],这会产生错误,因为1234不是 L1 中的有效索引,并且索引为 0,1。如果打印了 L1,{u'1234': u'hello world'}, {u'5678': u'roses are red'}]我知道该列表具有我对索引的潜在价值,因为它是存储在 unicode 中的值(让它变得更糟)。那么如何将L1变成一个方法,所以如果我尝试拉起L1[1234]它会拉起“hello world”,{1234: u'hello world'}, {5678: u'roses are red'}]谢谢编辑:更改了 JSON。
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

假设您有一个字典列表,您可以执行以下操作:


json_lst = [{

    "1234": "hello world"

}, 

{

    "5678": "roses are red"

}]


result = {int(k) : v  for element in json_lst for k, v in element.items()}

print(result[1234])

输出


hello world

上面的字典推导等价于下面的嵌套循环:


result = {}

for element in json_lst:

    for k, v in element.items():

          result[int(k)] = v 


查看完整回答
反对 回复 2021-08-03
?
米脂

TA贡献1836条经验 获得超3个赞

我认为您可以将其作为 python 字典阅读,其中 1234 和 5678 是“键”,相应的字符串是值。例如,


{

  1234: 'hello world', 

  5678: 'roses are red'

}

您可以按照您提到的方式对其进行索引,L1[1234]您将获得“hello world”。你可以在这里阅读一些关于字典的内容。


查看完整回答
反对 回复 2021-08-03
  • 3 回答
  • 0 关注
  • 207 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信