制作变量列表(或可迭代的)引用变量 [Python]

Making a list (or iterable) of variables refer to the variables [Python]

在 Python(最好是 3.6+)中有没有办法制作一个由变量组成的列表来引用变量本身,而不是它们的值?

一个例子:

a, b, c = 1, 2, 3
l = [a, b, c]
print(l)
# Outputs: [1, 2, 3]
# I want: [a, b, c]
# Not preferred but acceptable: ['a', 'b', 'c']

这可能吗?我正在使用 python 3.8.

回应评论:任何可迭代的都是可以接受的。我实际上有一个类似的问题,关于如何删除一个变量,因为它的名称是一个字符串,但这是另一个问题的主题。不过,这确实与此有关,所以我决定检查一下是否可行。

仍然不确定您的用例是什么,但字典可能很合适:

d = {'a': 1, 'b': 2, 'c': 3}

l = ['a', 'b', 'c']
# or 
# l = list(d.keys())

在Python中,变量在内部。通过这些字典,您可以通过将变量的名称作为字符串来访问和删除变量。示例:

a, b, c = 1, 2, 3
names = ['a', 'b', 'c']

for name in names:
    print(globals()[name])

print(a)
del globals()['a']
print(a) # a has been removed

对全局变量使用globals(),对局部变量使用locals(),对对象成员使用object.__dict__