小编tur*_*tle的帖子

如何遍历列表并逐步删除值

我有一个如下所示的列表:

lst = [1,2,6,3,9]
Run Code Online (Sandbox Code Playgroud)

我想编写一个函数,该函数对列表中的所有数字求和,并将此值附加到新列表,然后遍历列表并逐个删除值并对值求和.该函数将执行此计算:

result = [[1+2+6+3+9],
          [1+6+3+9],
          [1+2+3+9],
          [1+2+6+9],
          [1+2+6+3]]
Run Code Online (Sandbox Code Playgroud)

我试图描述的函数会产生这个结果给出上面的列表示例:

[21,19,15,18,12]

我很难理解如何在Haskell中实现这个功能.具体来说,如何遍历列表,并删除一个元素,但每次将删除的值增加一.有人可以帮忙吗?谢谢.我一直在尝试编写一个使用折叠的辅助函数,但我无法弄清楚如何在每次"迭代"时从最后一个元素中删除不同的元素.

haskell

2
推荐指数
2
解决办法
499
查看次数

找到嵌套列表的最小值

我有一个嵌套列表,如下所示:

let i = [(6, 0.2), (4, 0.9), (12, 0.1)]
Run Code Online (Sandbox Code Playgroud)

我有兴趣找到具有最小第二个元素的元素:

(12, 0.1)
Run Code Online (Sandbox Code Playgroud)

我试图使用最小值,但显然这不起作用.如何找到嵌套列表的最小值?

minimum (\(x, y) -> y) lst
Run Code Online (Sandbox Code Playgroud)

haskell

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

主要功能出错

我是Haskell的新手,仍在努力锻炼一些语法/习语.谁能解释一下我在这段代码中做错了什么?main应该打印出5个随机数的列表.这可以在GHCi中找到,但不能在文件中找到.我错过了什么?

import System.Random

main = newStdGen >>= print . take 5 . randomRs (1,10)
Run Code Online (Sandbox Code Playgroud)

haskell

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

matplotlib与iPython笔记本和python文件的差异

我有一个matplotlib的奇怪问题,我似乎无法搞清楚.当使用带有pylab标志的ipython笔记本时,ipython notebook --pylab inline我有一行代码,用于生成带有matplotlib的颜色条:

im = ax.imshow(df, vmin=vmin, vmax=vmax)
Run Code Online (Sandbox Code Playgroud)

代码工作正常,我得到一个很好的颜色栏.当我将此代码作为python文件运行时,我收到错误NameError: name 'ax' is not defined.我明白ipython notebook --pylab inline自动将一堆东西导入到笔记本中,但我无法弄清楚我需要导入什么才能解决问题.print type(ax)得到:

<class 'matplotlib.axes.AxesSubplot'>
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出为什么我的代码在ipython中工作但不是普通的python文件?提前致谢.

python matplotlib ipython

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

在两个条件下过滤元组列表

我有一个元组列表,如下所示:

let tups = [("AA","BB",1),
            ("AA","CC",2),
            ("AA","BB",3),
            ("VV","RR",4),
            ("XX","TT",5),
            ("BB","BB",6)]
Run Code Online (Sandbox Code Playgroud)

我想过滤掉第一个元素AA和第二个元素的元组BB.我试图使用:

filter (\(x,y,_) -> x /= "AA" && y /= "BB") tups
Run Code Online (Sandbox Code Playgroud)

上面的命令删除第一个元素是"AA"或第二个元素是"BB"的任何元组.因此,输出是:

[("VV","RR",4), ("XX","TT",5)]
Run Code Online (Sandbox Code Playgroud)

如何创建一个过滤函数来仅删除第一个elemet为"AA"而第二个元素为"BB"的元组?正确的输出sholuld是:

[("AA","CC",2), ("VV","RR",4), ("XX","TT",5), ("BB","BB",6)]
Run Code Online (Sandbox Code Playgroud)

haskell

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

在条形图中对齐x轴刻度

我有一个看起来像这样的条形图:

在此输入图像描述

如何移动x轴标签以使它们位于相应条形下方的中心?我试图在子情节中这样做.

python matplotlib

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

Express中绝对和相对路径的难度

我在Express应用程序中有一个API的路径,如下所示:

app.get('/:username/:bookmark/', function(req, res) {

  // do stuff

})
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,这条路线解决了:

GET /username/bookmark/
Run Code Online (Sandbox Code Playgroud)

但是,我想为我的静态资源使用相对URL.例如,我想通往我的路线main.css解决:

GET /css/main.css
Run Code Online (Sandbox Code Playgroud)

相反,它目前解决:

GET /username/bookmark/css/main.css
Run Code Online (Sandbox Code Playgroud)

如何让我的应用程序解析静态内容/css/main.css并从URL中删除API的主要组件?

node.js express

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

如何解决 topojson 包的打字稿错误?

请原谅这个幼稚的问题;我是打字稿的新手。在 javascript 中,我可以使用topojson.mesh创建一个像这样的网格对象:

import us from "./counties-albers-10m.json"
topojson.mesh(us, us.objects.states, (a, b) => a !== b))
Run Code Online (Sandbox Code Playgroud)

当我尝试在 Typescript 中执行此操作时,我收到此警告:

Types of property 'type' are incompatible. Type 'string' is not assignable to type "Topology" TS2345
Run Code Online (Sandbox Code Playgroud)

我也@types/topojson安装了。谁能帮我调试一下?我对打字稿的了解不够,无法理解问题所在。

更广泛地说,如何调试这样的错误?我发现 3rd 方包存在各种类型问题,并且在许多情况下不知道如何为我的 javascript 对象分配正确的类型。谢谢您的帮助。

typescript topojson

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

PartialEq 和 PartialOrd 实现不返回正确的输出

我已经为我的结构实现了PartialEqand PartialOrd,所以我可以BTreeSet使用一些自定义逻辑创建这些结构的 s:如果结构中的名称字段等于另一个结构的名称字段,则结构相等。当我查找一个结构体是否在这个集合中时,它只在整个结构体在集合中而不仅仅是名称字段时才返回 true。我该如何解决这个问题,以便两个断言都返回 true?

游乐场链接

use std::cmp::Ordering;
use std::collections::BTreeSet;


#[derive(Debug, Eq, Hash, Ord)]
struct Obj {
    name: String,
    count: i64,
}

impl PartialEq for Obj {
    fn eq(&self, other: &Self) -> bool {
        self.name == other.name
    }
}

impl PartialOrd for Obj {
    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
        Some(self.name.cmp(&other.name))
    }
}

fn vec_to_set(v: &[&str]) -> BTreeSet<Obj> {
    let hs: BTreeSet<Obj> = v
        .iter()
        .map(|d| {
            let mut count = 1;
            if d.to_string() …
Run Code Online (Sandbox Code Playgroud)

rust

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

Groupby复杂功能

我有一个包含字符串的迭代器:

it = (_ for _ in ['aaxbb', 'aayybb', 'aaaaaaabb', 'ccabcavabb', 'yyaaadbb', 'yyaabb', 'a'])
Run Code Online (Sandbox Code Playgroud)

如果它们具有相同的第一个和最后两个字符,我想将这些字符串分组.上例中groupby的最终结果应该是:

[['aaxbb', 'aayybb', 'aaaaaaabb'],
 ['ccabcavabb'],
 ['yyaaadbb', 'yyaabb'],
 ['a']]
Run Code Online (Sandbox Code Playgroud)

可以使用这个复杂的组来实现itertools.groupby吗?

python

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

标签 统计

haskell ×4

python ×3

matplotlib ×2

express ×1

ipython ×1

node.js ×1

rust ×1

topojson ×1

typescript ×1