小编tur*_*tle的帖子

复制一个空的双端队列

我想要一个有效的方法来创建几个空的deques.我怎么能用Python做到这一点?我的第一个想法是做这样的事情:

import collections

i = j = k = l = collections.deque()
Run Code Online (Sandbox Code Playgroud)

此代码只创建引用相同双端队列的多个变量.我如何快速创建几个空的deques?

python

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

Flask app中的自定义路由

我一直在努力了解如何生成动态Flask URL.我已经阅读了文档和几个示例,但无法弄清楚为什么此代码不起作用:

path = 'foo'
@app.route('/<path:path>', methods=['POST'])
def index(path=None):
    # do some stuff...
    return flask.render_template('index.html', path=path)
Run Code Online (Sandbox Code Playgroud)

我希望能够提供我的index.html模板/foo,但事实并非如此.我遇到了构建错误.我错过了什么?

如果我使用固定路径,那么/bar一切都可以正常运行.

@app.route('/bar', methods=['POST'])

python flask

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

文件I/O无法生成输出的困难

我正在学习Haskell,我正在尝试编写一些只读取文件并使用该lines函数创建行列表的代码.例如,我有一个名为的文件data.txt包含以下行:

this is line one
another line
and the final line
Run Code Online (Sandbox Code Playgroud)

这是我试图用来将这些数据读入列表并将其打印到屏幕上的代码:

import System.IO  
import Control.Monad

main = do  
        let list = []
        handle <- openFile "data.txt" ReadMode
        contents <- hGetContents handle
        let myLines = lines contents
            list = listLines myLines
        print list
        hClose handle   

listLines :: [String] -> [String]
listLines = map read
Run Code Online (Sandbox Code Playgroud)

生成的代码编译,但不生成任何输出.我得到以下输出:

runhaskell test.hs        
read_file.hs: Prelude.read: no parse
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我理解我的代码有什么问题吗?谢谢.

haskell

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

如何将函数应用于向量列表?

我有一个大的嵌套向量,如下所示:

import Data.Vector
let x = fromList [["a", "b", "12", "d"], ["e", "f", "34", "g"]...]
Run Code Online (Sandbox Code Playgroud)

我想将字符串转换为每个嵌套列表中位置2的整数,我试图用map和这样的理解来做到这一点:

let y = Data.Vector.map (\a -> read a :: Int) [i !! 2 | i <- x]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我希望输出为:

(("a", "b", 12, "d"), ("e", "f", 34, "g")...)
Run Code Online (Sandbox Code Playgroud)

haskell vector

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

使用itertools.dropwhile时遇到困难

我试图itertools.dropwhile只使用返回第三个元素之后的生成器中的元素,但是我遇到了一些麻烦:

from itertools import dropwhile

    it = (i for i in range(10,20))
    a = dropwhile(enumerate < 3, it)   
    next(a)
    TypeError: 'bool' object is not callable 
Run Code Online (Sandbox Code Playgroud)

我正在寻找的输出是:

[14, 15, 16, 17, 18, 19]
Run Code Online (Sandbox Code Playgroud)

谁能解释我的代码有什么问题并提供有效的解决方案?谢谢.

python python-itertools

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

有选择地旋转垂直图像

我有一个图像目录,其中一些是垂直(高 x 宽)7 x 5,而其他是水平 5 x 7。我想使用 imagemagick(或其他工具)仅将垂直图像旋转为水平。这可能与imagemagick有关吗?

imagemagick

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

如何将数据元素映射到数据类型

我有一个如下所示的数据类型:

data MyAwesomeType = MyAwesomeType {
                                     a :: String,
                                     b :: String,
                                     c :: String,
                                     ...
                                     -- 25 in total
                                   } deriving (Show)
Run Code Online (Sandbox Code Playgroud)

我有一些看起来像这样的数据:

let xs = [["A", "B", "C", ...],["D", "E", "F", ...]]
Run Code Online (Sandbox Code Playgroud)

为类型中的每个字段指定一个值.

如何将自定义数据类型应用于上面列表中的每个元素?我试图做这样的事情,这是行不通的:

map (MyAwesomeType) xs
Run Code Online (Sandbox Code Playgroud)

haskell

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

如何将字符串写入文件?

我想弄清楚如何将字符串写入文件。以下给了我错误format argument must be a string literal

use std::fs::File;
use std::io::{Error, Write};

fn main() -> Result<(), Error> {
    let path = "results.txt";
    let mut output = File::create(path)?;
    let line = println!("{}", "hello");
    write!(output, line);
}
Run Code Online (Sandbox Code Playgroud)

如何从字符串变量写入文件?如果我更改以下行,它会起作用,但如果字符串在变量中,我无法弄清楚如何写入文件。

write!(output, "foo,bar,baz");
Run Code Online (Sandbox Code Playgroud)

rust

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

如何错误处理字符串到浮点转换

这是一个非常简单的问题,但我似乎无法解决。我有一个字符串,我想将其转换为浮点数。我也想捕获此转换中的任何错误。

let str = "10.0"
let f: f32 = str.parse().unwrap();
Run Code Online (Sandbox Code Playgroud)

如何捕获字符串 is""或的错误dog。我试图使用 Some 和 None 的匹配表达式,但我不确定是否正确,因为我无法让它工作。

rust

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

如何在 Rust 中编写一个通用函数来接受任何实现特定属性的结构?

我试图理解 Rust 中的泛型,并尝试编写一个泛型函数,该函数可以将任何具有该属性的结构foo乘以 10。当我使用此代码时,我收到错误no field foo on type T

struct A {
    foo: i8,
    bar: String,
}

struct B {
    foo: i8,
}

fn go<T>(v: T) {
    v.foo * 10
}

fn main() {
  let a = A {foo: 1, bar: "bar".to_string()};
  let b = B {foo: 2};
  println!("{:?},{:?}", go(a), go(b))
}
Run Code Online (Sandbox Code Playgroud)

如何编写一个可以接受任何实现foo: i8属性的结构的通用函数?

rust

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

标签 统计

haskell ×3

python ×3

rust ×3

flask ×1

imagemagick ×1

python-itertools ×1

vector ×1