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