代码之家  ›  专栏  ›  技术社区  ›  Mantas Vidutis

python列表长度为字符串

  •  2
  • Mantas Vidutis  · 技术社区  · 15 年前

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

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

    这似乎是一个黑客解决方案,有没有更优雅的方法来达到同样的效果?

    3 回复  |  直到 15 年前
        1
  •  9
  •   Mark Byers    15 年前

    你不需要打电话给 str :

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

    注意使用 % 正在被弃用,您应该更愿意使用 str.format 如果您使用的是Python2.6或更新版本:

    print "Length: {0}".format(len(self.listOfThings))  
    
        2
  •  2
  •   Mike Graham    15 年前

    "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) . 我很少真正使用 打印 但是。

        3
  •  1
  •   Matti Virkkunen    15 年前

    好吧,你可以把 str() 打电话来,就这样。为什么称函数为“黑客”?