2012-03-01 66 views
0

例如我打印的内容是这样的:有没有更好的方式来写str(len(myList))?

print ('Number of Elephants less than %s: %s' % (str(floatB),str(len(myList)))) 

与4个括号结束,不会觉得很Python的!有没有更好的办法?这不是一个真正的性能方面的事情,但我只是通过代码,并希望使它更清洁一点。

回答

4

你可以失去的str()电话:

print('Number of Elephants less than %s: %s' % (floatB, len(myList))) 

这具有完全按照你原来的代码相同的效果,因为%s导致自动调用str()有问题的说法。这不是%s您可以使用更具体的%d(为整数)

注意和%e%E%f%F%g%G浮子。这些format specifiers更灵活,因为它们允许你指定的位数打印等

+0

我想第二个% s会是%d – Sid 2012-03-01 15:51:52

+0

@Sid你可以使用'%d'来确保它是一个整数,但'%s'也可以。正如答案所述,'%s'的意思是“只是首先通过'str'传递它。 – delnan 2012-03-01 15:53:08

+0

谢谢你们。有趣的了解这些格式说明 – user1228368 2012-03-01 16:04:42

1

实际上没有必要为你做海峡,你可以这样做:

print 'Number of Elephants less than %s: %s' % (floatB, len(myList)) 
+0

嘿!少一个支架,但只适用于蟒蛇2而不是3:P – mandel 2012-03-01 15:51:58

相关问题