如何获取一个对象或者列表的名称?

新手上路,请多包涵

一个没有__name__属性的对象,比如一个列表,该如何取得它的名称?
eg.现在有3个列表,每个列表里面有3个小字符串(不重复),用这些小字符串去匹配某个长字符串,如果匹配到了,则返回第一个匹配到的该字符串所属列表的名称,未匹配到则返回“未匹配到”?

#3个列表
AAA = ["aa", "a1", "a2"]
BBB = ["bb", "b1", "b2"]
CCC = ["cc", "c1", "c2"]
#长字符串
s1 = "asda2"
s2 = "bbbbb"
s3 = "zzzzz"

这时s1应能够返回"AAA", s2能够返回"BBB", s3能够返回"未匹配到"。

请大佬不吝赐教~~感谢

阅读 12.8k
2 个回答

可以曲线救国


for name, content in enumerate(globals()):

    if isinstance(content, list):
        print(name, content)

这样可以获取到全局的list变量的名字

改成dict

{
"AAA" : ["aa", "a1", "a2"],
"BBB" : ["bb", "b1", "b2"],
"CCC" : ["cc", "c1", "c2"],
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏