Python 2.7 Python列表打印(格式化)

Python 2.7 Python列表打印(格式化),python-2.7,Python 2.7,有一份清单: x=['s',2,'3',4,5,6] 我可以这样打印: for i in x: print i 然而,正如我所发现的,只使用一条打印语句要快一点,就像这样(下面是我如何做到这一点的): 考虑到我希望使用第二个选项,并且我希望输出类似(我还希望包括一个计数器): v1:sv2:2v3:3等 以下是我尝试过的: 1) 结果是::s,v0:2,v0:3,v0:4,v0:5,v0:6,真的不是我的目标 a) str(++count)不打印任何内容,count++给出s

有一份清单:

x=['s',2,'3',4,5,6]
我可以这样打印:

for i in x:
        print i
然而,正如我所发现的,只使用一条打印语句要快一点,就像这样(下面是我如何做到这一点的):

考虑到我希望使用第二个选项,并且我希望输出类似(我还希望包括一个计数器):
v1:sv2:2v3:3等

以下是我尝试过的:

1)

结果是:
:s,v0:2,v0:3,v0:4,v0:5,v0:6,
真的不是我的目标

a) str(++count)不打印任何内容,count++给出synthax错误

b) 第一个
v
找不到,因为在本例中,
join
添加了分隔符,并且不需要第一个元素

2)

提供了更好的
['v0:s','v0:2','v0:3','v0:4','v0:5','v0:6',]
但仍然没有
计数器
,我不希望显示
[]

3) 全部抓取并重新启动:

print ",".join(i  for i in x ) 
无法连接
字符串
int
,因此它会变成:

print ",".join(i.__class__==string and i or str(i)  for i in x )
其中:

s,2,3,4,5,6
这就是我的困境。我建议使用:


虽然我同意@ARodas的回答,但我想指出:

  • 在开始优化程序之前,您需要确保打印确实是程序中的一个瓶颈(很少是这样)

  • expr1和expr2或expr3
    是在Python 2.5之前使用的,当时引入了
    expr2 if expr1 else expr3
    三元运算符。如果不以Py为目标,则可能重复
    print ",".join(i  for i in x ) 
    
    print ",".join(i.__class__==string and i or str(i)  for i in x )
    
    s,2,3,4,5,6
    
    x = ['s',2,'3',4,5,6]
    print ', '.join('v{}: {}'.format(v, i) for v, i in enumerate(x))
    # v0: s, v1: 2, v2: 3, v3: 4, v4: 5, v5: 6