【问题标题】:How to get the total length of all dictionary values (strings)如何获取所有字典值(字符串)的总长度
【发布时间】:2020-07-07 00:51:49
【问题描述】:

假设我有一本包含一堆字符串的字典:

d = {'seq1':'AGG', 'seq2':'GCCG', 'seq3':'', 'seq4':'TTAAA'}

获得所有长度的总和的最佳方法是什么? 在本例中,总长度为 3 + 4 + 0 + 5,所以我希望输出为 12。

是否可以不使用循环来做到这一点?

【问题讨论】:

  • 为什么有时人们想在没有经典工具的情况下做某事?请告诉我,我想知道:)
  • @azro 你所说的“经典工具”是什么意思?
  • 只是经典的运算符,如for
  • 是否可以在不使用循环的情况下做到这一点?这取决于你所说的“循环”是什么意思。没有 iteration 就无法做到这一点,但不必使用 for 循环。

标签: python python-3.x dictionary string-length


【解决方案1】:

你可以使用推导式的总和:

sum((len(v) for v in d.values()))

【讨论】:

  • 从技术上讲,这是一个生成器表达式,而不是一个全面的表达式,尽管在这种情况下这甚至更好。在将生成器表达式作为唯一参数传递时,您可以省略一组括号,就像您在这里一样。
【解决方案2】:

这是使用summap 的一种方法

例如:

d = {'seq1':'AGG', 'seq2':'GCCG', 'seq3':'', 'seq4':'TTAAA'}
print(sum(map(len, d.values())))    # -->12

【讨论】:

    【解决方案3】:

    遍历字典并获取字典中每个值的长度值

    totalStringLength = 0
    for item in d.values():
        totalStringLength += len(item)
    

    【讨论】:

      猜你喜欢
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      • 2011-05-13
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多