小编Ziv*_*iva的帖子

具有两个优先级值的优先级队列

众所周知,插入优先级队列的元素具有确定其优先级的值。例如,如果我有五个A,B,C,D,E具有优先级的元素(我们称之为优先级值priorityI): A = 10, B = 5, C = 1, D = 3, E = 2。但是我如何编写一个可以定义两个优先级值的优先级队列,我的意思是:如果两个元素具有相同的值priorityI,则值priorityII决定应首先采用哪个元素,例如:

element A has priorityI = 3, and prioriotyII = 5
element B has priorityI = 3, and prioriotyII = 1
Run Code Online (Sandbox Code Playgroud)

那么第一个元素 B 将首先从队列中取出。

python queue priority-queue

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

Python Plot:如何将轴上的刻度表示为幂?

我在python使用matplot图书馆的情节上工作。我必须生成的数字非常大,所以轴上的刻度也是一个很大的数字,占用大量空间。我试图将它们呈现为一种权力(例如,我想要 10^8,而不是打勾 100000000)。我使用命令:ax.ticklabel_format(style='sci', axis='x', scilimits=(0,4))但是这只创建了这样的东西

在此处输入图片说明

是否有其他解决方案可以将绘图的刻度设置为:1 x 10^4、2 x 10^4 等,或者在标签刻度的末尾将值 1e4 写为 10^4?

python plot matplotlib python-2.7

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

python tox - 没有这样的文件或目录错误

我有一个项目,假设'my_project'使用以下结构调用:

my_project
|
 tox.ini
 setup.py
 src
 |
  client.py
  server.py
  config.json
  # other files
  tests.py
Run Code Online (Sandbox Code Playgroud)

文件中定义的类client.pyserver.py包含在文件夹 src 中的每个文件的使用信息config.jsontests.py实现py.test测试。在客户端/服务器文件中,我按如下方式读取配置文件:

with open('./config.json') as infile:
     self.parameters = json.load(infile)
Run Code Online (Sandbox Code Playgroud)

接下来,我创建了一个 tox.ini 文件,如下所示:

[tox]
envlist = py27,cov

[testenv]
#commands = py.test --cov=src/client.py src/tests.py -v
commands = py.test -sv --doctest-modules src/__init__.py src/tests.py


[testenv:py27]
commands = coverage erase
           coverage run --source=src -m pytest
           coverage report -m
deps = pytest
Run Code Online (Sandbox Code Playgroud)

但是当我运行tox命令时出现错误:"No such file or …

python packaging

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

Python:从namedtuple列表中获取参数值列表

我有一个列表namedtuples,例如下面的例子:

from collections import namedtuple
Example = namedtuple('Example', ['arg1', 'arg2', 'arg3'])
e1 = Example(1,2,3)
e2 = Example(0,2,3)
e3 = Example(1,0,0)
e4 = Example(1,2,3)
e5 = Example(2,3,5)
full_list = [e1, e2, e3, e4, e5]
Run Code Online (Sandbox Code Playgroud)

我想在列表中的元素中列出给定参数的所有值,例如:for param''a arg1a list [1,0,1,1,2]和for param' arg2'有一个list [2,2,0,2,3]

如果我提前知道参数,我可以使用for循环,如

values = []
for e in full_list:
    values.append(e.arg1)
Run Code Online (Sandbox Code Playgroud)

但是我如何编写一个可用于任何参数的通用函数?

python list namedtuple

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

类型不匹配的错误:Option<&[u8]> 和 Option<&[u8;32]>

我在玩 Rust 代码,但我遇到了转换Option<&[u8; 32]>Option<&[u8]>.

一个(非常)简化的例子:

pub type Foo = [u8; 32];

fn fun_one(inp: Option<&[u8]>) {
    println!("{:?}", inp);
}

fn fun_two(x: Option<&Foo>) {
    fun_one(x)
}

fn main() {
    let x = [11u8; 32];
    fun_two(Some(&x));
}
Run Code Online (Sandbox Code Playgroud)

链接:Rust Playground

error[E0308]: mismatched types
 --> src/main.rs:8:13
  |
8 |     fun_one(x)
  |             ^ expected slice `[u8]`, found array `[u8; 32]`
  |
  = note: expected enum `Option<&[u8]>`
             found enum `Option<&[u8; 32]>`
Run Code Online (Sandbox Code Playgroud)

rust

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

OCaml中的List.fold_left

我写了一个函数,它添加了给定列表中的所有元素:

let rec add = function []->0 | h::t->h+add(t);;

现在我想写相同的功能,但使用List.fold_left,但我尝试了几个更改,但我仍然有一个错误.首先我尝试了这个:

let rec add = function []->0 | h::t-> add List.fold_left((fun h t-> h+t) h t);;

但我有一个错误,我注意到List.fold_left返回一个int值,所以递归是不必要的.所以我换了:

let add = function []->0 | h::t -> List.fold_left ( fun h t-> h+t h t);;

但我仍然得到关于错误类型的错误: Error: This expression has type int -> 'a -> 'b but an expression was expected of type 'a 但我不知道如何解决这个问题,任何人都可以List.fold_left在这个例子中解释我的使用方法吗?

ocaml

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

计算许多列表中元素的外观

我有几个清单:

l1 = [1,2,3,4,5,6,7,8]
l2 = [1,3,5,7]
l3 = [4,5,1,8,2]
l4 = [1,2,6,7]
l5 = [5,7,8]
Run Code Online (Sandbox Code Playgroud)

我想计算每个元素的出现次数,所以输出应该是

element 1 appears in 3 lists
element 2 in 3
element 3 in 2
element 4 in 2
element 5 in 4
...
Run Code Online (Sandbox Code Playgroud)

我可以使用任何内置功能或智能创意吗?因为我可以使用循环来做到这一点,但它似乎是非常具有破坏性的想法.

python list python-2.7 python-3.x

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

以秒为单位测量当前时间?

如何在 Python 中以秒为单位获取当前时间?我正在使用,calendar.timegm(time.gmtime())但我不确定这个给定的值是否以秒为单位?

python time calendar python-2.7

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

Python:快速创建代表列表的方法

我有一个列表:list = [A, B, C, D, A, A, A, B, E, C, C, E, D, A, B] 我想计算每个元素的外观,所以我可以使用函数count.但我想创建包含一个元组的表(element, number_of_reps),它是:[(A,5),(B,3),(C,3),(d,2),(E,2)].

我想这样做:

newlist = []
for i in list:
 rep = list.count(i)
 tup = (i, rep)
 if tup not in newlist:
   newlist.append(tup)
Run Code Online (Sandbox Code Playgroud)

但我可以做得更好:更快还是使用任何内置功能?

python list

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

打印元组列表作为表

我有一个列表o元组:

list = [(element1, element2, element3), (elementelel4, element5, elementelement6), (el7, el8, elel9)]
Run Code Online (Sandbox Code Playgroud)

我想将它打印为一个表(因此元素之间的距离应该相同):

HEADER1       HEADER2    HEADER3
element1      element2   element3
elementelel4  element5   elementelement6
el7           el8        elel9
Run Code Online (Sandbox Code Playgroud)

我试图使用我发现的一些例子,但它用于打印列表列表,我有一个元组列表.

python string formatting tuples list

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

Python:使用base64解码bin

如果我有一个二进制字符串,让我们说str = "010100011010101001001101100101100110101"哪个是由其他字符串的base64版本编码的,我怎么能解码这个字符串?

python base64 encoding python-2.7

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

Golang:sha256为同一输入返回两个不同的值

我正在努力实现一些加密函数,其中需要哈希操作(我想计算自定义结构的哈希)所以我想使用cryptogolang包中的SHA256哈希函数.但是,我注意到当我为同一输入多次运行哈希函数时,它会返回不同的值.我的理解是SHA函数为单个输入值返回相同的哈希输出.下面是我对哈希函数的实现:

func myHash(s MyStruct) []byte{

    bytes := []byte(fmt.Sprintf("%v", s))

    h := sha256.New()
    h.Write(bytes)

    return h.Sum(nil)
}
Run Code Online (Sandbox Code Playgroud)

myStruct具有以下字段:

type MyStruct struct {
    elliptic.Curve // I use elliptic.P224() as my curve
    X, Y, Z *big.Int
}
Run Code Online (Sandbox Code Playgroud)

对于相同的输入值,myHash函数的输出运行多次SInput如下:

[38 39 88 96 46 192 74 20 93 238 4 18 134 253 238 154 210 89 64 204 13 27 60 78 228 33 57 20 173 80 67 196]

[38 39 88 96 46 192 74 …
Run Code Online (Sandbox Code Playgroud)

hash sha256 go

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

初始化函数字段

我在Go中有一个函数如下:

func MyFunction(name, address, nick string, age, value int) {
    // perform some operations
}
Run Code Online (Sandbox Code Playgroud)

我想用参数调用这个函数("Bob","New York","Builder",30,1000)但是我想在调用函数时使用字段名称.但是以下技术都没有奏效(他们抛出'未解决的参考错误'):

MyFunction(name = "Bob", address = "New York", nick = "Builder", age = 30, value = 1000)

MyFunction(name : "Bob", address : "New York", nick : "Builder", age : 30, value : 1000)
Run Code Online (Sandbox Code Playgroud)

怎么做得好?在初始化结构时使用字段名称没有问题,但是对于函数来说,我似乎缺少某些东西.

function go

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