【问题标题】:compare two lists with siding window比较两个带有侧板窗口的列表
【发布时间】:2021-03-27 12:25:45
【问题描述】:

假设我有一个类似列表的列表

[[0,0,1],[0,1,1],[1,1,1],[0,0,1],[0,0,0],[0,1,0],[0,0,0]]

我必须将它与我给定的列表进行比较,假设:[0,0,1] 以便在维度为3 的滚动窗口中获得多少不同的项目,所以在这种情况下,我应该简单地得到结果[2,2,2,2,3] 从第一个元素开始。

我正在努力寻找最有效的计算方法,感谢大家的帮助。

【问题讨论】:

  • 我发现你的例子不清楚。 [0,0,1][0,1,1] 只有一项不同,那么为什么结果数组中的对应项设置为 2。请通过编辑重新表述您的问题。如果你能展示你到目前为止所做的尝试,那就太好了。

标签: python sliding-window


【解决方案1】:

你能解释一下你是怎么得到结果的吗?

如果你想计算每个列表中的唯一元素,你可以使用 set 并找出集合的长度:

l = [[0,0,1],[0,1,1],[1,1,1],[0,0,1],[0,0,0],[0,1,0],[0,0,0]]

result = []

for items in l:
    unique_count = len(set(items))
    result.append(unique_count)
    
print(result)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-21
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 2021-04-15
    • 1970-01-01
    相关资源
    最近更新 更多