小编lla*_*o25的帖子

如何在元组列表中找到所有最小元素?

如何找到列表中的所有最小元素?现在我有一个元组列表,即

[(10,'a'),(5,'b'),(1,'c'),(8,'d'),(1,'e')]
Run Code Online (Sandbox Code Playgroud)

因此,我希望输出是新列表中列表的所有最小元素。例如

 [(1,'c'),(1,'e')]
Run Code Online (Sandbox Code Playgroud)

我试过了

minimumBy (comparing fst) xs
Run Code Online (Sandbox Code Playgroud)

但这只会返回第一个最小元素。

haskell list minimum

7
推荐指数
1
解决办法
169
查看次数

类型foldMap :: (Monoid m) => (a -> m) -> fa -> m 是什么意思以及如何实现它?

有人可以解释该类型的含义以及如何实现它吗?

\n\n
class Foldable f where\n  foldMap :: (Monoid m) => (a -> m) -> f a -> m\n
Run Code Online (Sandbox Code Playgroud)\n\n

基于https://hackage.haskell.org/package/base-4.9.1.0/docs/Data-Foldable.html#v:foldMap,\n他们将其解释为“将结构的每个元素映射到幺半群,然后组合结果。” 但我不太明白这意味着什么。如何将元素映射到 Monoid 的结构?

\n\n

我尝试了 \n foldMap f = mconcat . (<$>) f\n但收到此错误:

\n\n
 \xe2\x80\xa2 Couldn\'t match type \xe2\x80\x98f\xe2\x80\x99 with \xe2\x80\x98[]\xe2\x80\x99\n      \xe2\x80\x98f\xe2\x80\x99 is a rigid type variable bound by\n        the class declaration for \xe2\x80\x98Foldable\xe2\x80\x99\n        at traversable.hs:41:16\n      Expected type: f a -> m\n        Actual type: [a] -> m\n    \xe2\x80\xa2 In the expression: mconcat . (<$>) f\n      In …
Run Code Online (Sandbox Code Playgroud)

haskell foldable

5
推荐指数
1
解决办法
1438
查看次数

.nu​​mpy() 函数有什么作用?

我尝试在线搜索文档,但找不到任何可以给我答案的内容。.numpy()函数有什么作用?给出的示例代码是:

y_true = []
for X_batch, y_batch in mnist_test:
    y_true.append(y_batch.numpy()[0].tolist())
Run Code Online (Sandbox Code Playgroud)

numpy tensorflow pytorch

4
推荐指数
1
解决办法
2966
查看次数

如何使用嵌套的 if 语句绘制 UML 图?

例如,我有这样的代码:

if (morning) {
    if (beforeTenAM) {
        System.out.println("Go back to sleep"); }
    else { 
        System.out.println("Wake up!"); }
}
else {
    System.out.println("It's not morning anymore");
}
Run Code Online (Sandbox Code Playgroud)

如何在 UML 序列图中表示这个嵌套的 if else 语句?可以这样做吗?或者在这种情况下通信图更好?

uml

3
推荐指数
1
解决办法
7516
查看次数

散列基数和表大小如何影响散列的时间复杂度?

上周我正在学习哈希表,但我想知道为哈希基选择的最佳值是什么,以及哈希函数的表大小,以便它能够在良好的时间复杂度上运行。

这是我的哈希函数的代码:

h = 0
for i in range(len(key)):
    h = (h * hashBase + ord(key[i])) % tableCapacity
return h
Run Code Online (Sandbox Code Playgroud)

为什么选择 hashBase = 1 会增加哈希表操作的时间复杂度?为什么选择大桌子容量更好?另外,为什么 ie。hashBase = 250726 和表容量 = 250727 导致其操作变慢?

python hash-function hashtable

3
推荐指数
1
解决办法
1127
查看次数

如何跟踪斐波纳契中每个元素的计算次数?

这是给定的斐波那契数列:

1,1,2,3,5,8,13,21

这意味着n =8。这是我的斐波那契代码:

def fib(n, count= 0):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    return fib(n-1) + fib(n-2)
Run Code Online (Sandbox Code Playgroud)

如何创建一个函数来计算上述序列中每个元素的计算次数?例如,在计算fib(5)时,fib(0)被调用3次,fib(1)被调用5次,fib(2)被调用3次,依此类推...

我尝试使用全局计数器,但我意识到每个n值都应该有一个计数器(如果我输入错了,请更正我)。任何帮助将不胜感激。

python

1
推荐指数
1
解决办法
193
查看次数

如何在Haskell中在没有IO的情况下生成随机数?

我想生成一个范围内的随机数,类型签名为Int -> Int。我读过其他几篇文章,但是都没有建议返回类型的方法Int。我System.IO.Unsafe在代码中使用过,但不建议这样做。这是我的代码:

import System.IO.Unsafe

-- random number generator
rng :: Int -> Int
rng upper = unsafePerformIO $ randomRIO (0,upper-1) 
Run Code Online (Sandbox Code Playgroud)

有谁对在Haskell范围内如何生成随机Int有任何建议?

编辑:可能无法更改,IO Int -> Int所以我将代码转换为

-- random number generator
rng :: Int -> IO Int
rng upper = randomRIO (0,upper-1) 
Run Code Online (Sandbox Code Playgroud)

之所以需要rng是因为我想获取列表范围长度内的随机数,以获得列表元素的索引。

list !! rng (length list)但我得到了Couldn't match expected type ‘Int’ with actual type ‘IO Int’预期的错误。

它不是重复的,因为1.我想要一个范围内的值,2.我的rng不返回相同的值。我是Haskell的新手,我不知道如何操纵Monad。任何帮助表示赞赏。

random haskell

-2
推荐指数
1
解决办法
156
查看次数