我有一个程序,我计算一些值,而不是有30个打印语句,我想让代码更整洁,更容易维护。
将描述和实际值存储在两个单独的列表中,并将它们连接到程序末尾的日志文件中进行打印。
我将提供一个使用两个列表的示例:
description = ["name","phone","height"]
value = ["john","0431599430","160"]
我想打印:
name: john
phone: 0431....
height: 160
我的代码:
for i in value:
d = description(i);
v = value(i);
add = str(d) + ": " + str(v);
print add
更新 - 感谢大家的回复,我已经看到了这个,另一种可能的解决方案:
d = ["digit","code","symbol"]
v = [1,2,3]
for i in range(len(d)):
print (d[i],v[i])
打印时看起来像这样:
('digit', 1)
('code', 2)
('symbol', 3)
我可以使用replace删除()和'',所以它看起来像下面,但是是什么导致两个列表在第一个周围打印出额外的东西()''地方是我不明白的地方?
digit 1
code 2
symbol 3
答案 0 :(得分:5)
使用zip
组合两个列表。一种可能性:
for f, v in zip(description, value):
print "{0}: {1}".format(f, v)
答案 1 :(得分:1)
您可以使用zip
执行此操作:
d = ["name","phone","height"]
v = ["john","0431599430","160"]
print '\n'.join(': '.join(i) for i in zip(d,v))
[OUTPUT]
name: john
phone: 0431599430
height: 160