小编Jea*_*bre的帖子

创建一个具有相同键但值不同的字典

我正在研究GridSearch方法来调整Desicion树模型或随机森林模型的参数.在阅读了波士顿住房价格的例子后,我发现我无法运行该示例的代码.以下代码是示例的GridSearch代码.问题是ValueError: Parameter values for parameter (max_depth) need to be a sequence.我搜索了某些示例,但是,params这些示例中的变量几乎以相同的格式定义,这可能导致此错误.我认为作者想要创建一个带键的字典总是"max_depth",但值会从1到10不等.我无法解决这个问题.有人可以帮助我吗?

def fit_model(X, y):
""" Performs grid search over the 'max_depth' parameter for a 
    decision tree regressor trained on the input data [X, y]. """


    # Create cross-validation sets from the training data
    cv_sets = ShuffleSplit(X.shape[0], n_iter = 10, test_size = 0.20, random_state = 0)
    print (cv_sets)
    # Create a decision tree regressor object
    regressor = DecisionTreeRegressor()

    # Create a dictionary for the parameter 'max_depth' with …
Run Code Online (Sandbox Code Playgroud)

python grid-search

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

查找元组中的不匹配并在Python中合并它们

我有两个元组a = ((1, 'AB'), (2, 'BC'), (3, 'CD'))b = ((1, 'AB'), (2, 'XY'), (3, 'ZA')).通过分析这两个元组,可以发现元组中存在不匹配,即(2, 'BC')存在a(2, 'XY')存在于元组中b.

我需要找出这样的不匹配,并带有一个值为的元组

result = ((2, 'BC', 'XY'), (3, 'CD', 'ZA'))
Run Code Online (Sandbox Code Playgroud)

(订单应保留)

我可以抓住的最接近的参考是比较子列表并合并它们,但这是用于列表,我找不到使用元组的方法.

有没有办法可以执行此操作?

python compare tuples

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

当地址不是字对齐时,在C中将char*地址转换为int*时会发生什么?

我正在运行这段代码来更好地理解指针.

void foo(void)
{
    int a[4] = {0, 1, 2, 3};

    printf("a[0]:%d, a[1]:%d, a[2]:%d, a[3]:%d\n", a[0], a[1], a[2], a[3]);

    int *c;

    c = a + 1;
    c = (int *)((char*) c + 1);
    *c = 10;

    printf("c:%p, c+1:%p\n", c, c+1);
    printf("a:%p, a1:%p, a2:%p, a3:%p\n", a, a+1, a+2, a+3);

    printf("a[0]:%d, a[1]:%d, a[2]:%d, a[3]:%d\n", a[0], a[1], a[2], a[3]);

    printf("c[0]:%d, c[1]:%d\n", *c, *(c+1));

}
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

a[0]:0, a[1]:1, a[2]:2, a[3]:3
c:0xbfca1515, c+1:0xbfca1519
a:0xbfca1510, a1:0xbfca1514, a2:0xbfca1518, a3:0xbfca151c
a[0]:0, a[1]:2561, a[2]:0, a[3]:3
c[0]:10, c[1]:50331648
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下[1]现在是2561吗?

我明白当我们这样做时: …

c

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

从unsigned int转换为float

我有一个32位无符号值,我想转换为ieee 754浮点.

这是我的变量:

unsigned int val = 0x3f800000;  
float floatVal;
Run Code Online (Sandbox Code Playgroud)

我知道我必须执行以下操作才能将uint值正确地转换为我期望的iee 754浮点值1.0

floatVal = *((float*)&val);
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么floatVal =(float)val不会返回相同的结果?而不是1.0 floatVal获取值1.0653532e + 009.我相信这部分是由于在这种类型转换过程中丢失了比特,而这些比特是通过指针转换保留的,但更详细的解释将非常受欢迎.

c

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

在python中列出列表中的数字

我有一个list:

lst = [[7], [4, 3, 5, 8], [1, 3]]
Run Code Online (Sandbox Code Playgroud)

如何将每个元素乘以list它的位置如下:

[[7 * 0],[4 * 0 + 3 * 1 + 5 * 2 + 8 * 3], [1 * 0 + 3 * 1]]
Run Code Online (Sandbox Code Playgroud)

并打印答案:

answer = [[0], [37], [3]]
Run Code Online (Sandbox Code Playgroud)

python list python-3.x

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

列表中的特定范围(python)

我有一个整数列表,我从一串文本中提取,所以当我打印列表(我已经调用test)时,我得到:

['135', '2256', '1984', '3985', '1991', '1023', '1999']
Run Code Online (Sandbox Code Playgroud)

我想打印或制作一个新的列表,其中只包含一定范围内的数字,例如1000-2000之间.我尝试了以下操作,但它仍然返回原始列表中的所有项目.

for i in test:
    if i>1000:
        print i
    elif i<2000:
        print i
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么它仍然会打印低于1000或2000以上的数字.

python python-2.x

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

说文件是NULL而不是关闭它有什么缺点?

如果我已经定义并打开了一个我决定调用的文件f,那么简单地说f = NULL而不是正确关闭文件会带来fclose()什么后果?

或者f = NULL甚至没有工作?

c

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

为什么在比较2个元素时与使用if语句直接比较时max()函数这么慢?

通过运行以下代码,我获得了与if语句直接进行比较的速度,而if语句的速度几乎是使用max函数的4倍。

我试图了解其背后的原因。

比较:0.63s,最大:2.3s

import time

if _name_ == '_main_':
    sim = 10**7

    s = time.time()
    for _ in range(sim):
        if 1 > 2:
            pass
    res1 = time.time()-s

    s = time.time()
    for _ in range(sim):
        max(1, 2)
    res2 = time.time()-s

    print('comparison : {:.2}s, max : {:.2}s'.format(res1, res2))
Run Code Online (Sandbox Code Playgroud)

python max

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

设置为字典键

我在 Python 中运行了以下代码行,但收到​​了标题为“TypeError: unhashable type: 'set' ”的错误。我想把钥匙变成一个列表。我该如何解决这个错误?

dictionary = {
    'a' : [[1,2,3],[4,5,6],[7,8,9]],
    'b' : 2,
    {100} : 3
}
print(dictionary['a'][1][2])
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

不推荐使用 build.gradle 中的 Android 数据绑定“已启用”

build.gradle文件中:

dataBinding {
     enabled = true
 }
Run Code Online (Sandbox Code Playgroud)

enabled已弃用。找不到任何关于它的文档。任何人有任何想法如何解决它?

data-binding android gradle

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