gpt4 book ai didi

python - 如何检索字典中键控项的子值?

转载 作者:太空宇宙 更新时间:2023-11-03 21:23:02 25 4
gpt4 key购买 nike

如何从 a 中获取数字,什么?子索引字典? (我什至不知道这里的正确术语)。

这里仍然是一个相对新手,但这是我第一次接触字典,虽然我理解非常简单的基本概念,但我缺少如何访问事物。我的字典似乎以我想要的方式保存了我想要的数据,但我正在摸索如何访问它。

这是我的代码:

all_bone_keys[bone.GetName()][frame] = {"x":x[1], "y":y[1], "z":z[1]}
print (len(all_bone_keys["RL_Head"])
print (all_bone_keys["RL_Head"])

结果如下(一切正常):

2
{0: {'x': -0.4033583402633667, 'y': -0.08630772680044174, 'z': 0.4855811595916748}, 116: {'x': -0.13178503513336182, 'y': 0.3115540146827698, 'z': 0.2189643830060959}}

所以一切都很好——我得到了我想要的数据,两个框架显示了我的 x、y、z。我可以很好地读取每个骨骼有多少个项目,这样我就知道有多少帧,如果我知道帧编号,我什至可以访问 x、y 和 z 值:

print (all_bone_keys["RL_Head"][116]["x"])
-0.13178503513336182

但是我首先如何获得 116 呢?这就是我真正想知道的,就是如何读取这些帧号,以便我可以访问与它们相关的数据。

我看过大量教程,但似乎没有明白,因为它们几乎总是显示简单得多的字典示例。任何帮助将不胜感激。

最佳答案

您有多个选项,其中大部分可以在这里找到:https://docs.python.org/3/library/stdtypes.html#mapping-types-dict

就您而言:

  • 获取键的字典 View ,如评论中所述:

    for frame in all_bone_keys["RL_Head"].keys():
    print(frame, all_bone_keys["RL_Head"][frame]["x"])
  • 一次获取框架和坐标(我最喜欢的大多数应用程序):

    for frame, coord in all_bone_keys["RL_Head"].items():
    print(frame, coord["x"])
  • 确保帧的排序 ( https://mail.python.org/pipermail/python-dev/2017-December/151283.html ):

    for frame in sorted(all_bone_keys["RL_Head"].keys()):
    print(frame, all_bone_keys["RL_Head"][frame]["x"])
  • 或者只使用list来检索简单的键列表:

    for frame in list(all_bone_keys["RL_Head"]):
    print(frame, all_bone_keys["RL_Head"][frame]["x"])

关于python - 如何检索字典中键控项的子值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54094134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com