小编Ary*_*thy的帖子

在Swift中实现copy()

我希望能够在Swift中复制自定义类.到现在为止还挺好.在Objective-C中,我只需要实现NSCopying协议,这意味着实现copyWithZone.

举个例子,我有一个叫做Value存储a 的基本类NSDecimalNumber.

func copyWithZone(zone: NSZone) -> AnyObject! {
    return Value(value: value.copy() as NSDecimalNumber)
}
Run Code Online (Sandbox Code Playgroud)

在Objective-C I中,可以轻松地调用copy复制我的对象.在Swift中,似乎没有办法打电话copy.copyWithZone即使不需要区域,我真的需要打电话吗?我需要将哪个区域作为参数传递?

swift

33
推荐指数
5
解决办法
4万
查看次数

从一个CDN或多个CDNS加载文件

在典型的网页上,我从CDN加载以下内容:

  • jQuery的
  • 引导
  • Icomoon
  • 一些Angular插件

从1 CDN(如果可能)或从不同的CDN加载这些更好吗?是否有最佳实践,或者它没有什么区别?

performance jquery cdn twitter-bootstrap angularjs

26
推荐指数
3
解决办法
1415
查看次数

用于检查名称是否以元音开头和结尾的SQL查询

我想查询表格中的CITY名字列表,这些名字的STATION(id, city, longitude, latitude)元音是他们的第一个和最后一个字符.结果不能包含重复项.

为此我写了一个类似于WHERE NAME LIKE 'a%'25条件的查询,每个元音都用于其他每个元音,这是非常笨拙的.有没有更好的方法呢?

mysql sql select

23
推荐指数
8
解决办法
10万
查看次数

重复Stream allMatch()直到true

int testValue;
boolean success = false;

while(success == false) {
 testValue = generateRandomInt();   
 success = mySystem.getHosts().parallelStream().allMatch(predicate(testValue));
}

return testValue;
Run Code Online (Sandbox Code Playgroud)

我正在玩java8流.你有什么建议让上面的代码更优雅/可读?

java java-8

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

[sklearn] [standardscaler]我可以逆转模型输出的standardscaler吗?

我有一些结构如下的数据,试图t从这些功能进行预测。

train_df

t: time to predict
f1: feature1
f2: feature2 
f3:......
Run Code Online (Sandbox Code Playgroud)

可以t使用StandardScaler进行缩放,因此我可以预测t'然后对StandardScaler求逆,以获取实时信息?

例如:

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(train_df['t'])
train_df['t']= scaler.transform(train_df['t'])
Run Code Online (Sandbox Code Playgroud)

运行回归模型,

检查分数

!! 用实时值检查预测的t'(反向StandardScaler)<-可能吗?

python scale scikit-learn

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

如何在Python中创建OrderedDict?

我试图保持Python字典的顺序,因为native dict没有任何顺序.SE中的许多答案建议使用OrderedDict.

from collections import OrderedDict

domain1 = { "de": "Germany", "sk": "Slovakia", "hu": "Hungary",
    "us": "United States", "no": "Norway"  }

domain2 = OrderedDict({ "de": "Germany", "sk": "Slovakia", "hu": "Hungary",
    "us": "United States", "no": "Norway"  })

print domain1
print " "    
for key,value in domain1.iteritems():
    print (key,value)

print " "

print domain2
print ""
for key,value in domain2.iteritems():
    print (key,value)
Run Code Online (Sandbox Code Playgroud)

迭代后,我需要字典来维护其原始顺序并将键和值打印为原始:

{
    "de": "Germany",
    "sk": "Slovakia",
    "hu": "Hungary",
    "us": "United States",
    "no": "Norway"
}
Run Code Online (Sandbox Code Playgroud)

但是,我使用的任何一种方式都不会保留此顺序.

python dictionary

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

Java中"if"条件的奇怪优化

我决定检查Java编译器的明显性; 因此,我写了一个简单的课程.

public class Foo {
    public Foo(boolean a, int b) {
        if (a == true && a != false) {
            b = 1;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道编译器是否会将条件优化为更简单的条件:

if (a == true) {}
Run Code Online (Sandbox Code Playgroud)

我编译了该类,然后使用该javap工具对其进行了反汇编.当我看一下输出时,我真是傻眼了,因为编译器检查了这两个条件,下面清楚地显示了什么.

Compiled from "Foo.java"
public class Foo {
  public Foo(boolean, int);
    Code:
       0: aload_0
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: iload_1
       5: iconst_1
       6: if_icmpne     15
       9: iload_1
      10: ifeq          15
      13: iconst_1
      14: istore_2
      15: return
}
Run Code Online (Sandbox Code Playgroud)

我只是好奇,为什么它可以执行冗余指令,什么时候可以优化到更简单的东西?

java compiler-optimization

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

什么是在函数之间传递参数的pythonic方法?

我从用户那里获得了一些参数并将函数传递给函数(每个函数在不同的类中),直到它最终到达一个执行某些处理的函数,然后解决方案从链中返回.在链上,函数变得越来越抽象,合并来自较低函数的多次运行的结果.

我应该在哪里使用*args**kwargs

我认为*args并且*kwargs可以用于函数不明确使用参数的每个函数.但是,需要定义实际参数,top_level以便用户知道函数期望的内容.

我应该在哪里定义输入的含义?

我认为应该定义它们,top_level因为这是最终用户可能希望查看文档的那个.

我应该在哪里定义默认值?

同样,我认为它们应该被定义,top_level因为这是最终用户与之交互的那个.

这是一个简单的例子,用于演示参数的传递,其中我没有展示函数如何变得越来越抽象或者它们如何与不同的类交互,因为我认为这是不必要的细节.

def top_level(a=1, b=1, c=1, d=1, e=1):
    """ Compute sum of five numbers.
    :param a: int, a
    :param b: int, b
    :param c: int, c
    :param d: int, d
    :param e: int, e
    :return: int, sum
    """
    return mid_level(a, b, c, d, e)


def mid_level(*args, **kwargs):
    return bottom_level(*args, **kwargs)


def bottom_level(a, b, c, d, e):
    return a + b …
Run Code Online (Sandbox Code Playgroud)

python coding-style

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

为什么这个部门没有正确执行?

我在Python中有一个奇怪的问题:除法没有正确执行:

print pointB[1]
print pointA[1]
print pointB[0]
print pointA[0]
print  (pointB[1]-pointA[1]) / (pointB[0]-pointA[0])
Run Code Online (Sandbox Code Playgroud)

这些是结果:

100
50
100
40
0
Run Code Online (Sandbox Code Playgroud)

谢谢

python division python-2.x

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

将数组拆分为大小相等的窗口

我试图将numpy.array长度为 40 的numpy.arrays拆分为较小的、大小相等的s,其中较小数组的数量由用户给出。允许在较小的阵列之间有一些重叠,因为在给定较小阵列的某种形式的重叠的情况下,可能发生全长只能被分裂整除的情况。

如果我有一个数组np.array([range(40)]) 并且必须将其拆分为 37 个子数组,则子数组列表应该是这样的:

[1, 2, 3], [3, 4, 5], [5, 6, 7], ... [38, 39, 40]
Run Code Online (Sandbox Code Playgroud)

我尝试使用,numpy.split但这仅在长度可被尺寸整除时才有效,并且会numpy.array_split产生不均匀的尺寸。

使用示例 numpy.split

>> import numpy as np
>>> a = np.random.randint(6,size=(40))
>>> b = np.split(a,37)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/numpy/lib/shape_base.py", line 508, in split
    'array split does not result in an equal division')
ValueError: array split does not result in an equal …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

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