gpt4 book ai didi

python - 获取给定结构的所有对象及其全局名称

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:26 25 4
gpt4 key购买 nike

假设我有以下对象:

gray       =    (132, 132, 132)
green = (0, 104, 0)
red = (168, 0, 68)

如何获取所有这种形式(RGB)的globals()以及对应对象的名称?

最佳答案

使用 isinstance ,您可以检查对象的类型。并使用 vars ,您将获得变量名称到值的映射。

gray = (132, 132, 132)
green = (0, 104, 0)
red = (168, 0, 68)
somethingelse = 0

for key, value in vars().items():
is_rgb = (
isinstance(value, tuple) and
len(value) == 3 and
all(isinstance(x, int) for x in value)
)
if is_rgb:
print(key)

另一种方式:try-except

gray = (132, 132, 132)
green = (0, 104, 0)
red = (168, 0, 68)
somethingelse = 0

for key, value in vars().items():
try:
_, _, _ = value
if isinstance(value, tuple):
print(key)
except (TypeError, ValueError):
pass

关于python - 获取给定结构的所有对象及其全局名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34834578/

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