【问题标题】:How to accumulate the lengths of a list of real-valued intervals?如何累积实值区间列表的长度?
【发布时间】:2019-02-04 12:13:06
【问题描述】:

如何编写一个函数,将区间列表(作为排序的浮点对)作为输入并返回区间长度的总和?

例如[[1,2],[3,5],[6,9]]有三个长度分别为1、2、3的区间。所以总和是 6。

【问题讨论】:

  • python-requests 用于特定的 HTTP 客户端库
  • 您能否为您的函数提供输入和预期输出的示例?
  • @machfour 示例:list( [[3,4], [12, 16] ] ) 返回 5
  • 那是列表列表,不是空格列表。
  • 这是一个区间列表

标签: python python-3.x


【解决方案1】:

听起来您实际上想要的是获取每个子列表的差异总和:

def foo(list_of_spaces):
  return sum([abs(x[0]-x[1]) for x in list_of_spaces])
foo([[3,4], [12, 16] ]) # 5

如果您想允许负值,则删除 abs(然后子列表的顺序很重要)


使用len 你可以这样做:

def foo(list_of_spaces):
    return sum([len(x) for x in list_of_spaces])

[len(x) for x in list_of_spaces] 给你一个整数列表,每个字符串的长度。

sum([len([j for j in x if j is " "]) for x in list_of_spaces]) 只会计算空格。

【讨论】:

  • 如何输入带区间的列表?
  • 我想创建一个函数,它将接受间隔列表作为条目并返回间隔长度的总和。例如:list ([[3,4], [12, 16]]) 返回 5
  • 我编辑了我的答案以向您展示如何做到这一点...查看我的答案顶部@R.Monkey
  • 我希望您向我展示用户能够提供间隔列表的方式。类似 thta: MyList = input ("给我一个列表")
  • 对不起,如果我误解了你只是非常初学者,我不太容易理解它们
猜你喜欢
  • 2019-10-19
  • 1970-01-01
  • 2016-12-27
  • 2020-09-14
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
  • 2014-07-12
相关资源
最近更新 更多