将列表的长度作为字符串

dub*_*ech 0 python logging list

好的简单问题,请不要杀了我.

要记录列表的长度我做:

logger.info("the length of my list is: " + str(len(mylist)));
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法在python中做到这一点?

jco*_*ado 8

我会做这样的事情:

logger.info('the length of my list is: {0}'.format(len(mylist)))
Run Code Online (Sandbox Code Playgroud)

编辑:有关为什么format应该更好的更多信息%,请查看PEP 3101:

'%'运算符主要受限于它是二元运算符,因此最多可以包含两个参数.其中一个参数已经专门用于格式字符串,所有其他变量都被压缩到剩下的参数中.目前的做法是使用字典或元组作为第二个参数,但正如许多人评论[3],这缺乏灵活性."全有或全无"方法(意味着必须在只有位置参数或只有命名参数之间进行选择)被认为是过度约束.

另请注意,您甚至可以将自己的自定义格式添加到对象中.因此,您不会限制一组已定义的转换字符,但您可以根据需要定义自己的迷你语言来格式化对象.这是非常强大的东西,无法通过%.

文档中所述:

格式(值[,format_spec])

将值转换为"格式化"表示,由format_spec控制.format_spec的解释取决于value参数的类型,但是大多数内置类型都使用标准格式化语法:Format Specification Mini-Language.