python - 从 dict 访问一项并将其存储到变量中
问题描述
我正在尝试从 API 中获取所有“uuid”,问题是它存储在一个字典中(我认为)。她是它在 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,但我不知道你是如何.uuid
在 python 中做这部分的
如果您需要其他任何内容,请发表评论:)
解决方案
列表理解是一个强大的概念:
members = [client.getPlayer(member['uuid']) for member in guildMembers]
编辑: 如果要将名称重新插入数据中(在 guildMembers 中),请使用具有 {uuid: member_name,} 格式的字典理解:
members = {member['uuid']: client.getPlayer(uuid=member['uuid']) for member in guildMembers}
你可以用你的结果更新 guildMembers :
for member in guildMembers:
guildMembers[member]['name'] = members[member['uuid']]
推荐阅读
- docker - 通过 dockerfile 为我们的容器添加用户管理
- prometheus - Grafana:在统计面板的标题字段中使用实例标签
- javascript - 在另一个里面访问 jest.fn 函数
- java - Java lambda 表达式最佳实践
- tensorflow - 我有一个 NVIDIA Quadro 2000 显卡,我想安装 TensorFlow。它会起作用吗?
- node.js - Git/node 卡在旧的 .js 文件版本上
- python - 通过 APSCHEDULER 在 python 中安排一个 cron 作业以每次在 1 和 31 分钟运行一个 python 脚本
- sql - 需要在oracle sql中获取上一财年数据
- python - 如何在 Pandas DataFrame 中找到包含某个字符的单元格并从该单元格返回值?
- c++ - 带有前向声明的 std::variant