从字典访问一项并将其存储到变量中

问题描述 投票:0回答:3

我正在尝试从API中获取所有的“ uuid”,问题是它存储在dict中(我认为)。她在API上的样子:

{"guild": {
        "_id": "5eba1c5f8ea8c960a61f38ed",
        "name": "Creators Club",
        "name_lower": "creators club",
        "coins": 0,
        "coinsEver": 0,
        "created": 1589255263630,
        "members":
            [{  "uuid": "db03ceff87ad4909bababc0e2622aaf8",
                "rank": "Guild Master",
                "joined": 1589255263630,
                "expHistory": {
                "2020-06-01": 280,
                "2020-05-31": 4701,
                "2020-05-30": 0,
                "2020-05-29": 518,
                "2020-05-28": 1055,
                "2020-05-27": 136665,
                "2020-05-26": 34806}}]
        }
    }

现在,我对那里的“ uuid”部分感兴趣,请注意:有多个播放器,可以是1到100个播放器,我将需要每个UUID。

现在我已经在python中完成了此操作,以使UUID显示在网站上:尝试:

f = requests.get(
            "https://api.hypixel.net/guild?key=[secret]&id=" + guild).json()
        guildName = f["guild"]["name"]
        guildMembers = f["guild"]["members"]
        members = client.getPlayer(uuid=guildMembers) #this converts UUID to player names
        #I need to store all uuid's in variables and put them at "guildMembers"

这将为我提供所有“ UUID代码”,我将使用client.getPlayer(uuid=---)将UUID转换为播放器名称。我必须遍历每个“ UUID”到该代码client.getPlayer(uuid=---)中。但是首先我需要将UUID保存在变量中,我一直在进行members.uuid访问HTML文件上的UUID,但是我不知道您如何处理python中的.uuid部分

如果您还有其他需要,只需发表评论:)

python flask uuid
3个回答
2
投票

您可能需要重新制定,但据我了解:

members = [client.getPlayer(member['uuid']) for member in guildMembers]

列表理解功能强大...

编辑:如果要将名称重新插入到数据中(在guildMembers中):

members = {member['uuid']: client.getPlayer(uuid=member['uuid']) for member in guildMembers}

具有{uuid:member_name,}格式的词典理解!比用您的结果更新guildMembers:

for member in guildMembers:
    guildMembers[member]['name'] = members[member['uuid']]

0
投票

假设guild是主要字典,其中存在一个名为members的键并带有“子词典”列表,则可以尝试]]

uuid = list()
for x in guild['members']:
    uuid.append(x['uuid'])

uuid现在具有所有uuid


0
投票

如果我理解正确的情况,您只需要遍历所有接收到的uuid并获取玩家的数据。像这样的东西:

© www.soinside.com 2019 - 2024. All rights reserved.