将两个python列表连接在一起以创建日志文件
我有一个程序,我在其中计算一些值,而不是有30个打印语句,我想使代码更整洁,更易于维护 将描述和实际值存储在两个单独的列表中,并在程序结束时将它们连接到日志文件中进行打印 我将使用两个列表提供一个示例:将两个python列表连接在一起以创建日志文件,python,list,Python,List,我有一个程序,我在其中计算一些值,而不是有30个打印语句,我想使代码更整洁,更易于维护 将描述和实际值存储在两个单独的列表中,并在程序结束时将它们连接到日志文件中进行打印 我将使用两个列表提供一个示例: description = ["name","phone","height"] value = ["john","0431599430","160"] 我想打印: name: john phone: 0431.... height: 160 我的代码: for i in value:
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
您可以使用
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
您可以使用
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
使用
zip
组合这两个列表。一种可能性:
for f, v in zip(description, value):
print "{0}: {1}".format(f, v)
使用
zip
组合这两个列表。一种可能性:
for f, v in zip(description, value):
print "{0}: {1}".format(f, v)
你也可以使用一个
dict
而不是两个单独的列表。嗨,乔治,谢谢你的回答,我认为dict可能是我最好的选择,最终我想把数据输入excel电子表格。通过使用dict,我可以使用pandas DataframeFromDict方法。如果我在代码下编写的语法无法从每个列表中获取值,您能举个例子说明这两个列表如何成为字典吗(然后我可以将其放入字典中。你也可以使用dict
而不是两个单独的列表。嗨,乔治,谢谢你的回答,我认为dict可能是我最好的选择,最终我想将数据输入excel电子表格。通过使用dict,我可以使用pandas DataframeFromDict方法。你能举例说明这两种方法是如何实现的吗列表可以是一个字典,因为我在代码下编写的语法无法从每个列表中获取值(我可以将其放入字典中。我认为这也是可行的,但当它打印出数据时,它会显示为backets()还有引号“name”,在这个例子中,有没有办法去掉它们,所以上面的代码将打印一个包含列表中的值的字符串。您添加到问题中的代码将打印一个包含字符串的元组,这就是为什么它会显示圆括号和引号中的名称。我认为这也是可行的,但是当它打印出d时ata,用backets()和引号“name”显示,是否有任何方法可以使用此示例消除这些问题,因此上面的代码将打印一个包含列表中的值的字符串。添加到问题中的代码将打印一个包含字符串的元组,这就是为什么它会显示括号和带引号的名称。