有一個列表: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