Python 从字典中的列表中获取信息

Python 从字典中的列表中获取信息,python,list,Python,List,我有下一个代码: ind=[{'id':123,'name'='Andrew','universities':[{'country'=123,'state'=123}], school=[{'name'=Beliech,'state'=...}],'type'=[{}] }] 我需要在“学校”字段中输入学校的名称,并在“大学”字段中注明国家,以将其添加到数据库中。我试图将列表ind转换为dictionary info=ind[0],然后获取信息,但我遇到了问题,学校也是一个列表,所以我不能使用

我有下一个代码:

ind=[{'id':123,'name'='Andrew','universities':[{'country'=123,'state'=123}], school=[{'name'=Beliech,'state'=...}],'type'=[{}] }]
我需要在“学校”字段中输入学校的名称,并在“大学”字段中注明国家,以将其添加到数据库中。我试图将列表ind转换为dictionary info=ind[0],然后获取信息,但我遇到了问题,学校也是一个列表,所以我不能使用ind['school']['name']。大学和学校不是一成不变的,它们可以相互替代,停留在边缘/末端/中间。我如何获取这些信息

import pandas
ind=[{'id':123,'name':'Andrew','universities':[{'country':123,'state':1234}], 'school':[{'name':"Beliech"}]}]
name_list = []
school_name_list = []
university_country_list = []
university_state_list = []
for i in range(len(ind)):
    name_list.append(ind[i]['name'])
    school_name_list.append(ind[i]['school'][0]['name'])
    university_country_list.append(ind[i]['universities'][0]['country'])
    university_state_list.append(ind[i]['universities'][0]['state'])
Output = pandas.DataFrame({'Name':name_list,'School_Name':school_name_list,'University_Country':university_country_list,'University_State':university_state_list})

我不太清楚这个问题。根据我的理解,这是我能想到的

我试图回答你,但实际上我无法理解一些要点

ind = [{'id':123, 'name':'Andrew','universities':[{'country':123,'state':123}], 'school':[{'name':'Beliech','state':...}],'type':[{}]}]

list_dict = []
for index in range (0, len(ind[0]["school"])):
    new_dict = {
        "School_Name" :  ind[0]["school"][index]["name"],
        "University_Country": ind[0]["universities"][index]["country"],
        "University_State": ind[0]["universities"][index]["state"],
    }
    list_dict.append(new_dict)
我只是为每一所学校创建一本字典,一所大学与之关联。在您的示例中,Beliech学校与国家123和州123的大学关联。所有词典都存储在一个列表中。 我不知道这是否真的是你想要的。我希望如此

请注意字典键。你把school和Beliech写成两个变量,而不是字符串。我想这不是你想要的

编辑

我希望这就是你想要的。如果没有,请尽量准确,请:

ind = [{'id':123, 'name':'Andrew','universities':[{'country':123,'state':123}], 'school':[{'name':'Beliech','state':...}],'type':[{}]}]

user_name = input("Please, enter your name")

for index in range (0, len(ind)):
    if ind[index]["name"] == user_name:
        dict = ind[index]
        school_list = []
        for school in range(0, len(dict["school"])):
            school_list.append(dict["school"][school]["name"])
        university_list = []  # list of dictionary with all the info about a University
        universitycountry_list = []
        universitystate_list = []
        for uni in range(0, len(dict["universities"])):
            university_list.append(dict["universities"][uni])
            universitycountry_list.append(dict["universities"][uni]["country"])
            universitystate_list.append(dict["universities"][uni]["state"])
        found = True
        break
    else:
        found = False

if not found:
    print("The user {} is not in the Database".format(user_name))

# print(school_list)
# print(university_list)
# print(universitycountry_list)
# print(universitystate_list)

对不起,误会了,我的错。此列表是用户的个人信息。从列表中,我需要分别从学校和大学抓取信息,将其添加到数据库中。他们之间没有联系。州可以不同,也可以根本没有州。所以你可以访问学校名称、大学国家、大学州,这些都可以是名称列表,在你的例子中是Andrew?我以前不知道用户名。我的整个脚本都是通过用户Id或配置文件来收集数据,这取决于使用API的配置文件。此列表是脚本的结果。