Python列表长度为字符串

时间:2010-04-15 17:41:04

标签: python string conventions

是否有一种首选(非丑陋)方式将列表长度输出为字符串?目前我正在嵌套函数调用,如下所示:

print "Length: %s" % str(len(self.listOfThings))  

这似乎是一个黑客解决方案,是否有更优雅的方法来实现相同的结果?

3 个答案:

答案 0 :(得分:9)

您无需拨打str

print "Length: %s" % len(self.listOfThings)

请注意,不推荐使用%,如果您使用的是Python 2.6或更高版本,则应优先使用str.format

print "Length: {0}".format(len(self.listOfThings))  

答案 1 :(得分:2)

"Length: %d" % len(self.listOfThings)应该效果很好。

字符串格式化的目的是使您的数据成为字符串,因此调用str不是您想要的:提供数据本身,在本例中为intint可以采用多种方式进行格式化,最常见的是%d,它提供了它的十进制表示(我们习惯于查看数字的方式)。对于任意内容,您可以使用%s,在所表示的对象上调用str;自己永远不需要调用str

我还会考虑"Length: %d" % (len(self.listOfThings),) - 有些人习惯性地使用元组作为str.__mod__的参数,因为它的工作方式很有趣,他们希望提供更一致的东西。

如果我特别使用print,我可能会使用print "Length:", len(self.listOfThings)。不过,我很少使用print

答案 2 :(得分:1)

好吧,你可以省略str()电话,但就是这样。为什么称功能为“黑客”?