是否有一個首選(不醜)的方式輸出一個列表長度作爲一個字符串?目前我嵌套函數調用如下:作爲一個字符串的Python列表長度
print "Length: %s" % str(len(self.listOfThings))
這似乎是一個黑客解決方案,是否有一個更優雅的方式來實現相同的結果?
是否有一個首選(不醜)的方式輸出一個列表長度作爲一個字符串?目前我嵌套函數調用如下:作爲一個字符串的Python列表長度
print "Length: %s" % str(len(self.listOfThings))
這似乎是一個黑客解決方案,是否有一個更優雅的方式來實現相同的結果?
你不需要調用str
:
print "Length: %s" % len(self.listOfThings)
注意,使用%
被棄用,你應該更喜歡使用str.format
如果你正在使用Python 2.6或更新版本:
print "Length: {0}".format(len(self.listOfThings))
那麼,你可以忽略str()
的呼叫,但就是這樣。怎麼叫功能「黑客」?
"Length: %d" % len(self.listOfThings)
應該很好。
字符串格式化的要點是爲了讓你的數據變成一個字符串,所以調用str
是不是你想要的:提供數據本身,在這種情況下,提供數據本身,int
。一個int
可以格式化很多方式,最常見的是%d
,它提供了它的十進制表示(我們習慣看數字的方式)。對於任意東西,您可以使用%s
,它在所表示的對象上調用str
;自己調用str
不應該是必要的。
我也會考慮"Length: %d" % (len(self.listOfThings),)
-有些人習慣性地使用元組作爲str.__mod__
的參數,因爲它的工作方式有點有趣,他們希望提供更一致的東西。
如果我特別使用print
,我可能只是使用print "Length:", len(self.listOfThings)
。不過,我很少使用print
。
它看起來很醜陋,我經常發現python比我想象的更有效率的做事方式 – 2010-04-15 17:51:05