有一个列表:Python列表打印(格式化)
x=['s',2,'3',4,5,6]
我可以打印它像这样:
for i in x:
print i
然而,正如我已经找到了,这是一个快一点,只需使用一个print语句,像这样(下面是我得到了这一点):
print "\n".join(i.__class__==string and i or str(i) for i in x)
假设我想在使用第二个选项,而我想的输出是这样的(我也想有一个计数器): v1: s v2: 2 v3: 3 etc
这里是我试过:
1)
count=0
print (("v"+str(++count)).join(":%s "% i for i in x ))
结果是::s, v0:2, v0:3, v0:4, v0:5, v0:6,
真的不是我的目标。
一)STR(++计数)打印什么,算++给synthax错误
B)第一v
是无处可寻,因为join
在这种情况下,增加了分离器和没有必要为第一要素
2)
print (["v"+str(++count)+ ":%s, "% i for i in x ])
给人['v0:s, ', 'v0:2, ', 'v0:3, ', 'v0:4, ', 'v0:5, ', 'v0:6, ']
更好,但仍然没有counter
,我不希望[]
正在显示
3) 划痕所有并重新启动:
print ",".join(i for i in x)
不能连接string
和int
所以它成为:
print ",".join(i.__class__==string and i or str(i) for i in x)
其给出:
s,2,3,4,5,6
这里是我卡住的地方。
的可能的复制[在Python中,有在没有明确的循环自定义格式打印列表中的一个优雅的方式?(https://stackoverflow.com/questions/4440516/in-python-is-有一个优雅的方式来打印一个自定义格式的列表中没有前) – nelaaro