Python 3.x 在循环python中打印变量
我希望输出是变量,而不是它的值。下面的代码将输出为 “什么” “为什么” “何时” “哪里” 但我希望输出为 A. B C dPython 3.x 在循环python中打印变量,python-3.x,for-loop,printf,Python 3.x,For Loop,Printf,我希望输出是变量,而不是它的值。下面的代码将输出为 “什么” “为什么” “何时” “哪里” 但我希望输出为 A. B C d 这是不可能的。如果您还想记录姓名,应使用dict: words = { "a": "what", "b": "why", "c": "when", "d": "where" } for x in words.k
这是不可能的。如果您还想记录姓名,应使用dict:
words = { "a": "what", "b": "why", "c": "when", "d": "where" }
for x in words.keys():
print(x)
打印变量名的唯一方法是3.8中的新调试格式选项:
print(f"{x=}")
这会导致类似于
x = 5
这回答了你的问题吗?
x = 5
import inspect
def retrieve_variable_name(value):
for var, val in inspect.currentframe().f_back.f_locals.items():
if val is value:
return var
a = "what"
b = "why"
c = "when"
d = "where"
A = [a, b, c, d]
for x in A:
print(retrieve_variable_name(x))