小编sen*_*hin的帖子

调用Func <int>时为什么会出错?

我在C#中有以下代码片段:

var actions = new List<Func<int>>();

IEnumerable<int> values = new List<int> { 1, 2, 3 };

foreach (int value in values)
{
    actions.Add(() => value * value);
}

foreach (var action in actions)
{
    Console.WriteLine(action()); ;
}

Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

它运行正常,但我没有得到我期望的结果.

实际结果

9,9,9

预期结果

1,4,9

为什么我没有得到我期望的结果?

c# lambda

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

如何检查字符串是否只包含python中给定集合的字符

我有一个用户输入的多项式,我只想使用它,如果它只有字符串中的字符1234567890^-+x.

如何在不使用外部包的情况下检查是否存在?我只想使用内置的Python 2.5函数.

我正在编写一个可以在任何Mac上运行而无需外部软件包的程序.

python string python-2.5

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

如何存储和打印前20%的功能名称和分数?

以下代码读取清理的泰坦尼克数据,打印出所有功能和分数

import csv 
import numpy as np

data = np.genfromtxt('titanic.csv',dtype=float, delimiter=',', names=True)

feature_names = np.array(data.dtype.names)
feature_names = feature_names[[ 0,1,2,3,4]] 

data = np.genfromtxt('plants.csv',dtype=float, delimiter=',', skip_header=1)

_X = data[:, [0,1,2,3,4]] 
#Return a flattened array required by scikit-learn fit for 2nd argument
_y = np.ravel(data[:,[5]])

from sklearn import feature_selection
fs = feature_selection.SelectPercentile(feature_selection.chi2, percentile=20)
X_train_fs = fs.fit_transform(_X, _y)

print feature_names, '\n', fs.scores_
Run Code Online (Sandbox Code Playgroud)

结果:

['A'  'B' 'C' 'D' 'E']
[  4.7324711   89.1428574   70.23474577   7.02447375  52.42447817]
Run Code Online (Sandbox Code Playgroud)

我想要做的是捕获前20%的功能,并将名称和分数存储在一个数组中,然后我可以按分数排序.这将有助于我在更大的功能集减少尺寸.为什么我会获得所有5个功能,如何解决这个问题,以及如何存储和打印前20%的功能名称和分数?

python numpy scikit-learn

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

我可以将带有一行和一列的子查询视为标量吗?

假设我有以下SQL(如果您愿意,可以针对数据资源管理器运行):

SELECT COUNT(Id) AS "Count" 
  INTO #temp 
  FROM Posts

PRINT (SELECT * FROM #temp)
Run Code Online (Sandbox Code Playgroud)

这会产生错误:

"在此上下文中不允许使用子查询.只允许使用标量表达式."

现在,在这种情况下,我知道这#temp是一行和一列的表,因此(SELECT * FROM #temp)只产生一个值.有没有办法说服SQL Server将其视为标量?

我知道我可以将它保存到变量然后PRINT改为:

DECLARE @count int = (SELECT * FROM #temp)
PRINT @count
Run Code Online (Sandbox Code Playgroud)

但这似乎是一个不必要的额外步骤.

sql sql-server

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

VB6中变量声明中的星号

在变量声明之后,星号(*)和数字的含义是什么?如图所示WpName As String * 6

Public Type WayPoint

   WpIndex As Integer
   WpName As String * 6
   WpLat As Double
   WpLon As Double
   WpLatDir As String * 1
   WpLonDir As String * 1

End Type
Run Code Online (Sandbox Code Playgroud)

vb6 variable-declaration

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

GADT:'代数'和'抽象'之间的区别?

似乎术语"广义抽象数据类型"和"广义代数数据类型"可互换使用,但我确信从技术上讲它们不是一回事.

有人可以解释这个区别,也许在Haskell的上下文中使用一个简单的例子?

haskell abstract-data-type algebraic-data-types gadt

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

使用正则表达式验证用户输入

我希望能够验证用户是否在我的程序中输入了有效的名称。如果他们没有输入有效的姓名,我希望程序继续提示他们再次输入姓名。如果输入的名称有效,我希望程序向用户打招呼。

到目前为止我有:

import re

user_name = input("Please enter your name: ")
if not re.match("^[A-Za-z]*$", user_name):
    print ("Error! Make sure you only use letters in your name")
else:
    print("Hello "+ user_name)
Run Code Online (Sandbox Code Playgroud)

如果他们的名字无效,我将如何循环这个?

python python-3.x

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

json.dumps()无效

import json

def json_serialize(name, ftype, path):

        prof_info = []

        prof_info.append({
            'profile_name': name,
            'filter_type': ftype
        })

        with open(path, "w") as f:
            json.dumps({'profile_info': prof_info}, f)

json_serialize(profile_name, filter_type, "/home/file.json")
Run Code Online (Sandbox Code Playgroud)

上面的代码不会将数据转储到"file.json"文件中.当我print以前写的时候json.dumps(),数据会在屏幕上打印出来.但它不会被转储到文件中.

文件被创建但在打开它时(使用记事本),什么都没有.为什么?

怎么纠正呢?

json python-2.7

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

将参数传递给 Python 中的可执行文件

os.startfile('C:\\test\\sample.exe')用来启动应用程序。我不想知道应用程序的退出状态,我只想启动 exe。

我需要将参数传递给那个 exe 就像 'C:\\test\\sample.exe' -color

请提出一种在 Python 中运行它的方法。

python

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

按路径设置JSON属性

有没有办法使用Json.NET通过路径设置属性?

JObject o = JObject.Parse(@"{
'CPU': 'Intel',
'Drivers': {
   'Mouse': 'HPQ',
   'VideoCard' : 'NVidia'
   }
}");

//something like that
o.SetByPath("Drivers.VideoCard") = "Intel";
Run Code Online (Sandbox Code Playgroud)

可能吗?

顺便说一句,我知道我可以这样做:

o["Drivers"]["VideoCard"] = "Intel";
Run Code Online (Sandbox Code Playgroud)

但那不是我想要的.

c# json json.net

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