如何打印列表的下一个值代替%s
?下面的代码显示了我希望得到的结果,但我不想手动编写每一步。
hours=["14","15","18","30"]
print (("%s:%s-%s:%s")%(hours[0],hours[1],hours[2],hours[3]))
有没有办法做这样的事情:
print (("%s:%s-%s:%s")%hours)
并使其有效?
答案 0 :(得分:5)
您可以直接在Python 3中使用解包:
>>> ("%s:%s-%s:%s")%(*hours,)
'14:15-18:30'
或者转换为Python 2中的元组:
>>> ("%s:%s-%s:%s")%tuple(hours)
'14:15-18:30'
答案 1 :(得分:4)
您可以使用format,并使用*
将列表中的值解压缩为format
方法的参数:
"{}:{}-{}:{}".format(*hours)
# '14:15-18:30'