小编gon*_*opp的帖子

Python:优化间隔之间的成对重叠

我有很多间隔(大约 5k 到 10k)。这些元素有开始和结束位置;像 (203, 405)。间隔的坐标存储在列表中。

我想确定每对间隔之间重叠部分的坐标和长度。这可以按如下方式完成:

# a small list for clarity, with length normally around 5000s
cList = ((20, 54), (25, 48), (67, 133), (90,152), (140,211), (190,230)) 
for i, c1 in enumerate(cList[:-1]): # a linear pairwise combination
    for c2 in cList[i + 1:]:
        left =  max(c1[0], c2[0])
        right = min(c1[1], c2[1])
        overlap = right - left
        if overlap > 0:
            print "left: %s, right: %s, length: %s" % (left, right, overlap)
Run Code Online (Sandbox Code Playgroud)

导致:

left: 25, …
Run Code Online (Sandbox Code Playgroud)

python intervals

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

地理空间查找

我正在开发一种算法和数据结构来处理大量二维点上欧几里德距离的查找.

我试过在谷歌学者上研究这个但是还没发现任何东西(可能是因为我不知道这个问题通常在文献中被称为).

这些是我考虑过的两种方法:

方法1:使用存储桶创建双向网格.将点插入桶中,保持每个点桶的引用.在查找距离为D的点P时,得到它的桶B和其网格方块的任何角都有的所有桶(距离B)<D.最后,枚举所有桶中的点并计算到P的距离.

方法2:创建两个列表,每个列表包含按坐标(x,y)之一排序的所有点.在查找具有距离D的点P时,执行二分搜索以找到每个列表中的两个点,以便找到其具有其切比雪夫距离到P <D的矩形区域.最后,计算所有这些点到P的欧几里德距离.

我猜测最先进的算法会比这更优秀吗?对此有任何想法表示赞赏

language-agnostic algorithm lookup data-structures

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

导入的常量类字段的简称

我有一个包含数百个配置常量的java程序:

public static final String C1="C1";
public static final String C2="C2";
Run Code Online (Sandbox Code Playgroud)

由于它们很多,我把它们放在一个单独的类中,MyClassConstants.现在,我需要使用它们MyClass:

import mynamespace.MyClassConstants;
myMethod( MyClassConstants.C1, MyClassConstants.C2 );
Run Code Online (Sandbox Code Playgroud)

这非常冗长,所以我想知道是否有可能以某种方式直接导入字段:

import mynamespace.MyClassConstants.*; 
myMethod( C1, C2 ); //doesn't work
Run Code Online (Sandbox Code Playgroud)

或者至少重命名导入:

import mynamespace.MyClassConstants as C; //javac hates me
myMethod( C.C1, C.C2 );
Run Code Online (Sandbox Code Playgroud)

似乎后来的方法是不可能的

有没有办法做到这一点,仍然有一个有意义的常量类名?或者我应该使用另一种方法?

java boilerplate

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

将3d钻孔轨迹转换为笛卡尔坐标并使用matplotlib绘制它

我希望能够使用方向和距离绘制两条线.这是一个Drillhole跟踪,所以我现在有这种格式的数据,

在此输入图像描述

深度实际上是距离孔的距离,而不是垂直深度.方位角来自磁北.Dip基于0是水平的.我想从同一点绘制两条线(0,0,0很好)并根据这种信息看看它们是如何不同的.

我没有使用Matplotlib的经验,但我对Python感到满意,并希望了解这个绘图工具.我找到了这个页面,它有助于理解框架,但我仍然无法弄清楚如何用3d矢量绘制线条.有人可以给我一些关于如何做到这一点或在哪里找到我需要的指示的指示?谢谢

python plot matplotlib

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

分页不接受 dict 作为数据 - 不可哈希类型

我正在尝试使用 Django 分页Pagination Docs。但我收到此错误:

TypeError at /
unhashable type
Run Code Online (Sandbox Code Playgroud)

这基本上是因为我使用字典作为对象而不是查询集。我想知道是否有办法将我的字典变成可哈希对象。

这是我在模板中的字典:

{% for key, values in prodmatrix.items %}                                                                                                     <li class="span3">
<div class="product-box">
<span class="sale_tag"></span>
<p><a href="{% url 'product_detail' slug=values.3.0 %}"><img src="{{ STATIC_URL }}{{values.1.0}}" alt="" /></a></p>
    <a href="{% url 'product_detail' slug=values.3.0 %}" class="title"><h4>{{ values.0.0 }}</h4></a><br/>
    <p class="category"><a href="{% url 'product_detail' slug=values.3.0 %}">{{values.2.}}    {{values.2.1}}   {{values.2.2}}</a></p>
</div>
</li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

这是我的观点:

def home(request):
    if request.user.is_authenticated():
        print "login"
        user = request.user
        prods = Product.objects.all()

        i = 0
        print 'numero de produtos …
Run Code Online (Sandbox Code Playgroud)

python django python-2.x django-views django-pagination

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

在matplotlib中的绘图上绘制平均值

我有一个由多个温度曲线组成的数据集,我想创建一个平均温度曲线.为了做到这一点,我想如果我可以计算每个深度的平均值,那么我可以简单地绘制图上每个深度的平均温度.

我知道为了计算深度的平均温度,我可以使用:

    import numpy as np
    import datetime as dt
    import matplotlib.pyplot as plt
    #read in data here
    temper2out = []

    temperature2m = np.mean(temperature[depth==2])
    temper2out.extend(list(temperature2m)

    T2out = np.array(temper2out)
    t2 = np.mean(T2out)
    tout.extend(list(t2)) #I could then do this for every depth, but since it goes to 150m, that would be lengthy.
    Tout = np.array(tout) 
Run Code Online (Sandbox Code Playgroud)

我知道这可以给我一些结果,但这是一个冗长的方式来做到这一点.我也不知道如何绘制这个.所以我的问题是,有没有更好的方法来解决这个问题?如果是这样,怎么样?很抱歉这么多,我对Python很新!

数据采用这种格式(抱歉,我不知道如何获取pastebin):

TagID    ProfileNo   ProfileDirn     DateTime    Lat     Lon     Depth   Temperature
pv42-156-12 1    A   25/01/2012 00:00   52.90618    0.36051 2   5.04
pv42-156-12 1    A   25/01/2012 00:00   52.90618    0.36051 3 …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib mean

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

在内置命名后命名实例变量是不好的做法

拥有以python内置命名的变量是一种不好的做法,因为它阻止了它们的正确使用,并且可能会使读者感到困惑.

但是实例变量怎么样:

class MyClass:
    def __init__(self, type_):
        self.type = type_
Run Code Online (Sandbox Code Playgroud)

对此有一个很好的论据吗?

python reserved-words built-in

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

我应该使用 %s 还是 %v 来格式化错误

双方%s%v可以用来在Go格式错误,而且似乎没有功能上的差异,至少在表面上。

我们在 Go 自己的工具中看到了两者。

cmd/go/internal/get/path.go 中return fmt.Errorf("malformed import path %q: %v", path, err)

cmd/go/internal/list/list.go 中base.Fatalf("%s", err)

我应该更喜欢一个吗?

string error-handling formatting go

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

如何将一串数字转换为一位数整数列表?

str(reduce(lambda x, y: x * y, range(1, 11))) -> this returns 10! or '3628800'
Run Code Online (Sandbox Code Playgroud)

在不创建for循环的情况下,如何将此函数作为一位整数列表映射到另一个函数:例如reduce(lambda x, y: x+ y, [3, 6, 2, 8, 8, 0, 0])

澄清:

reduce(lambda x, y: x + y, [str(reduce(lambda x, y: x * y, range(1, 11)))])

如何将内部的所有内容[ ]转换为一位数整数列表,以便第一个函数可以对其进行求值?当然,我需要改变它里面[ ].

python numbers digit

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

Scala选项||

我想获得scala中几个Option之一的值,如下所示:

def or(a:Option[Int], b:Option[Int]):Option[Int]=
    if (a.isDefined) a else b

val a= Option(1)
val b= Option(2)
or(a,b).get
Run Code Online (Sandbox Code Playgroud)

但我想知道为什么||运营商没有为Option定义?有没有更惯用的方法呢?

scala scala-option

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

带有`class`阐述类型说明符的方法参数

我正在尝试理解以下代码:

lock_server::lock_server(class rsm *_rsm)
{
//code
}
Run Code Online (Sandbox Code Playgroud)

我知道这是该类的构造函数,但我不理解它的论点.我猜这是一个指向一个的指针(名称为_rsm)?那有意义吗?我在哪里可以找到关于此的文档?

c++ class

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