如何从列表中获取数据到列表

时间:2019-02-13 17:59:12

标签: python dictionary

您好,我尝试做一个应用程序,但被阻止了:我不怎么从字典中获取信息到字典中

我知道如何获得它,如何阅读它,但是我不知道如何阅读每个动词!

如果您有任何信息可以帮助我,我将不胜感激!

list  = {
  {
   "FIELD1": "\"A\"",
   "FIELD2": "\"B\"",
   "FIELD3": "\"C\"",
   "FIELD4": "\"D\"",
   "FIELD5": ""
 },
 {
   "FIELD1": "\"Base verbale (to...)\"",
   "FIELD2": "\"Preterit\"",
   "FIELD3": "\"Participe passe\"",
   "FIELD4": "\"Traduction\"",
   "FIELD5": ""
 },
 {
   "FIELD1": "\"arise\"",
   "FIELD2": "\"arose\"",
   "FIELD3": "\"arisen\"",
   "FIELD4": "\"survenir\"",
   "FIELD5": ""
 },
}

我做了什么:

import json
from verbes import *

file = "verbes.py"

my_file = open(file, "r").read()
keys = list.keys()
print(keys)
first_object = list["FIELD1"]
print(first_object)

再次感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

首先,修复您的文字列表,请勿使用“ list”作为变量名,因为它是python中的保留关键字,声明列表的括号应为[],而不是{},像这样: verbes.py:

verbe_list = [
  {
   "FIELD1": "\"A\"",
   "FIELD2": "\"B\"",
   "FIELD3": "\"C\"",
   "FIELD4": "\"D\"",
   "FIELD5": ""
  }...
]

如果要在另一个python脚本中使用verbes.py列表,则可以按以下方式导入。嵌套的for循环将在verbe_list中打印所有键和值。

main.py:

from verbes import verbe_list

for item in verbe_list:
    for k, v in item.items():
        print(k, v)

更新: 这将为您提供“ FIELD1”的所有值。

first_object_of_all_dict = [item['FIELD1'] for item in verbe_list]

结果:

['"A"', '"Base verbale (to...)"', '"arise"']

如果要从verbe_list的第一个字典中获取“ FIELD1”的值:

first_object_of_first_dict = verbe_list[0]['FIELD1']

结果:

"A"

答案 1 :(得分:0)

与其保存.py相同的verbes.json

[
  {
   "FIELD1": "\"A\"",
   "FIELD2": "\"B\"",
   "FIELD3": "\"C\"",
  }...
]

然后使用json

import json
list = json.load(open("verbes.json"))
for d in list:
   print(d.keys())

答案 2 :(得分:0)

首先,我相信您可能会混淆列表和字典。您真正想在这里处理的是一个列表:[] ,该列表由字典:{} 组成。在这里,我展示了您可能做的事情。由于list关键字已经在python中使用,因此您实际上不应该使用它定义自己的变量。

verbes_list  = [
  {
   "FIELD1": "\"A\"",
   "FIELD2": "\"B\"",
   "FIELD3": "\"C\"",
   "FIELD4": "\"D\"",
   "FIELD5": ""
 },
 {
   "FIELD1": "\"Base verbale (to...)\"",
   "FIELD2": "\"Preterit\"",
   "FIELD3": "\"Participe passe\"",
   "FIELD4": "\"Traduction\"",
   "FIELD5": ""
 },
 {
   "FIELD1": "\"arise\"",
   "FIELD2": "\"arose\"",
   "FIELD3": "\"arisen\"",
   "FIELD4": "\"survenir\"",
   "FIELD5": ""
 }
]

此外,查看第二段代码,您实际上不需要再次开始读取整个文件,而是可以导入想要读取的特定变量。仅分析您的原始代码,我收集到您想打印字典列表中的键和对象,因此可以通过在列表中运行一个for循环来获取这3个大块来实现。接下来,在最终打印之前,运行另一个for循环以获取这3个块中的每个块的键和对象。

import json
from verbes import verbes_list

for chunk in verbes_list:
   for key, object in chunk.items():
      print(key, object)

希望这会有所帮助:)