python中的格式字符串

时间:2015-09-09 11:32:10

标签: python

我必须写一个字符串如下:

A = 55
B = 45

res = 'A =' + str(A) + '\n' + \
            'B = ' + str(B) 

A和B必须分成两行。

print res

结果是正确的。但是,如果我有其他变量,如C,D,E等,在我的代码中逐个执行是很困难的。什么是更简单,更简单的方法?

4 个答案:

答案 0 :(得分:2)

您可以创建值的字典并迭代它:

values = {
    'A': 56,
    'B': 32,
    'C': 34
}

res = ''
for key in values:
    res += key + ' = ' + str(values[key]) + '\n'

如果你想按顺序排列这些值,你应该使用OrderedDict,如Peter Woods的回答所示。

答案 1 :(得分:1)

您可以使用str.format更轻松地确定res

res = 'A ={}\nB = {}'.format(A, B)

{}将替换为您传递给format的参数,您可以根据需要传入。{/ p>

答案 2 :(得分:1)

如果您要处理所有变量(例如您正在使用),可以使用locals

def f():
    A = 55
    B = 45
    C = 35
    D = 25
    print("\n".join("{} = {}".format(k, v) for k,v in locals().items()))

行动中:

>>> f()
A = 55
B = 45
C = 35
D = 25

否则我们必须知道您要处理哪些变量 - 例如,使用OrderedDict

d = OrderedDict([
("A", 55),
("B", 45),
("C", 35),
("D", 25),
])

print("\n".join("{} = {}".format(k, v) for k,v in d.items()))

答案 3 :(得分:0)

首先,不要从大写开始变量名。如果要打印所有值,您应该拥有更多有用的数据结构。喜欢列表或字典。

   jQuery('#datetimepicker4').datetimepicker({
   format:'d.m.Y H:i'         
   });

如果您想要排序输出,请先创建一个字符串列表:

>>> dictionary = {'a':55, 'b':45, 'c':65}
>>> for key, value in dictionary.items():
...     print str(key) + ' = ' + str(value)
... 
a = 55
c = 65
b = 45