如果我有一个变量列表,每个变量都分配给方程,我如何打印变量本身从列表,而不是方程的结果作为例子
x = 1 + 1 y = 2 + 2 z = 3 + 3 list = [x, y, z] print(list[0]) print(list[1]) print(list[2])
输出将是:246而我意图是:X射线Y形Z轴
rkue9o1l1#
print()为您提供list[0]、list[1]或list[2]的值您在应用程序启动时为它们提供了值2,4,6
x = 1 + 1 y = 2 + 2 z = 3 + 3
如果你想得到x,y,z,试试这个:
x = "x" y = "y" z = "z"
polhcujo2#
在这种情况下,您需要将列表更改为字符串,否则它会认为它是一个变量并打印分配给它的值。要解决此问题,请将第5行更改为:list =["x","y","z"]-〉这样它将输出字符串,而不是变量x的值
vmjh9lq93#
这里的答案显然是正确的,但也许它们错过了真实的的重点。我假设你希望能够同时显示/使用 * 名称和值,例如打印类似“x,y,z之和为12”的内容。如果是这种情况,你可能想使用Python的内置命名空间,但最简单的方法是使用字典,其中你的名字将是键,你的值......嗯,值:
my_dict = {} my_dict['x'] = 1 + 1 my_dict['y'] = 2 + 2 my_dict['z'] = 3 + 3 ','.join(my_dict.keys()) #'x,y,z' sum(my_dict.values()) # 12
4ngedf3f4#
从你的第一个问题开始我就不太明白你需要什么我想这可以行得通:
def dna_content(seq): A = ["A", (seq.count("A") / len(seq)) * 100] T = ["T", (seq.count("T") / len(seq)) * 100] G = ["G", (seq.count("G") / len(seq)) * 100] C = ["C", (seq.count("C") / len(seq)) * 100] bases = [A, T, G, C] for i in bases: print(str(i[0]) + " content is: " + str(i[1]))
而且...我找不到如何通过变量的值访问变量名UPD:试试这个:
x = 1 + 1 y = 2 + 2 z = 3 + 3 list = ["x", "y", "z"] for i in list: print(i, globals()[i])
4条答案
按热度按时间rkue9o1l1#
print()为您提供list[0]、list[1]或list[2]的值您在应用程序启动时为它们提供了值2,4,6
如果你想得到x,y,z,试试这个:
polhcujo2#
在这种情况下,您需要将列表更改为字符串,否则它会认为它是一个变量并打印分配给它的值。要解决此问题,请将第5行更改为:list =["x","y","z"]-〉这样它将输出字符串,而不是变量x的值
vmjh9lq93#
这里的答案显然是正确的,但也许它们错过了真实的的重点。我假设你希望能够同时显示/使用 * 名称和值,例如打印类似“x,y,z之和为12”的内容。
如果是这种情况,你可能想使用Python的内置命名空间,但最简单的方法是使用字典,其中你的名字将是键,你的值......嗯,值:
4ngedf3f4#
从你的第一个问题开始我就不太明白你需要什么
我想这可以行得通:
而且...我找不到如何通过变量的值访问变量名
UPD:
试试这个: