在python中处理字典更新的最佳方法

ca1c2owp  于 2022-11-28  发布在  Python
关注(0)|答案(1)|浏览(135)

我希望通过循环的方式根据字典中的值更新字典,但是我的方法很幼稚,不酷,所以我希望在这里寻求帮助,看看是否有更好的酷的方法,用单行或几行来处理它,以获得相同的输出?
我的代码:

g_keypoints = {"test1": (14,145), "test2": (15, 151)}
d = {}
for k, v in g_keypoints.items():
    d.update({k+"_x":v[0]})
    d.update({k+"_y":v[1]})

我的输出:

{'test1_x': 14, 'test1_y': 145, 'test2_x': 15, 'test2_y': 151}

我的期望:单行或更好Python化方式

z2acfund

z2acfund1#

我认为你基本上想要一个使用列表理解的解决方案。

g_keypoints = {"test1": (14,145), "test2": (15, 151)}
d = {}
[(d.update({k+"_x":v[0]}), d.update({k+"_y":v[1]})) for k,v in g_keypoints.items()]
print(d)

这看起来很有效,并产生了与您相同的输出,尽管我觉得您使用它的方式比使用单行更具可读性。

相关问题