gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:49:56 27 4
gpt4 key购买 nike

有一个列表:

x=['s',2,'3',4,5,6]

我可以这样打印:

for i in x:
print i

但是,正如我发现的那样,只使用一个打印语句会更快一些,就像这样(下面是我如何做到这一点的):

print "\n".join( i.__class__==string and i or str(i) for i in x )

鉴于我想使用第二个选项并且我希望输出类似于(我还想包括一个计数器):v1:s v2:2 v3:3 等

这是我尝试过的:

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, 真的不是我想要的。

a) str(++count) 什么都不打印,count++ 给出语法错误

b) first 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 ) 

不能连接 stringint 所以它变成:

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

给出:

s,2,3,4,5,6

这就是我卡住的地方。

最佳答案

我建议使用 enumerate :

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

关于python-2.7 - Python 列表打印(格式化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19400015/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com