我有一个如下所示的列表:
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中实现这个功能.具体来说,如何遍历列表,并删除一个元素,但每次将删除的值增加一.有人可以帮忙吗?谢谢.我一直在尝试编写一个使用折叠的辅助函数,但我无法弄清楚如何在每次"迭代"时从最后一个元素中删除不同的元素.
我有一个嵌套列表,如下所示:
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的新手,仍在努力锻炼一些语法/习语.谁能解释一下我在这段代码中做错了什么?main应该打印出5个随机数的列表.这可以在GHCi中找到,但不能在文件中找到.我错过了什么?
import System.Random
main = newStdGen >>= print . take 5 . randomRs (1,10)
Run Code Online (Sandbox Code Playgroud) 我有一个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文件?提前致谢.
我有一个元组列表,如下所示:
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) 我有一个看起来像这样的条形图:

如何移动x轴标签以使它们位于相应条形下方的中心?我试图在子情节中这样做.
我在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的主要组件?
请原谅这个幼稚的问题;我是打字稿的新手。在 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 对象分配正确的类型。谢谢您的帮助。
我已经为我的结构实现了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) 我有一个包含字符串的迭代器:
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吗?
haskell ×4
python ×3
matplotlib ×2
express ×1
ipython ×1
node.js ×1
rust ×1
topojson ×1
typescript ×1