小编Jam*_*rtz的帖子

python中有数学nCr函数吗?

可能的重复:
统计:Python中的
组合计数组合和排列有效地
在python中计划euler问题(问题53)

我想看看在python中使用数学库内置的是nCr(n选择r)函数:

在此输入图像描述

我知道这可以编程,但我想我会先查看它是否已经内置.

python math function

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

C++ ifstream错误使用字符串作为打开文件路径.

我有:

string filename: 
ifstream file(filename);
Run Code Online (Sandbox Code Playgroud)

编译器抱怨ifstream文件和字符串之间没有匹配.我需要将文件名转换为某些内容吗?

这是错误:

error: no matching function for call to ‘std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::string&)’
/usr/include/c++/4.4/fstream:454: note: candidates are: std::basic_ifstream<_CharT, _Traits>::basic_ifstream(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]
Run Code Online (Sandbox Code Playgroud)

c++ ifstream

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

两个整数的"min"和"bit hacking"一样快?

我正在观看关于"Bit Hacking"的系列讲座,并且遇到了以下优化,以找到最少的两个整数:

return x ^ ((y ^ x) & -(x > y))
Run Code Online (Sandbox Code Playgroud)

据说速度比:

if x < y:
    return x
else:
    return y
Run Code Online (Sandbox Code Playgroud)

由于该min函数可以处理的不仅仅是两个整数(浮点数,字符串,列表甚至自定义对象),我认为调用min(x, y)所需的时间比上面的优化位数更长.令我惊讶的是,它们几乎相同:

>>> python -m timeit "min(4, 5)"
1000000 loops, best of 3: 0.203 usec per loop

>>> python -m timeit "4 ^ ((5 ^ 4) & -(4 > 5))"
10000000 loops, best of 3: 0.19 usec per loop
Run Code Online (Sandbox Code Playgroud)

即使对于大于255(预先分配的python整数对象)的数字也是如此

>>> python -m timeit "min(15456, 54657)"
10000000 loops, best of …
Run Code Online (Sandbox Code Playgroud)

python

38
推荐指数
3
解决办法
4963
查看次数

什么是.NETCore(Windows 8 Framework)的`GetCustomAttributes`的等效方法?

我正在整理一个与Stack API接口的应用程序,并且一直在关注本教程(虽然旧的API版本仍然有效).我的问题是,在Windows 8商店应用程序中使用它时,我受.NETCore Framework的限制,它不支持GetCustomAttributes下面找到的方法:

    private static IEnumerable<T> ParseJson<T>(string json) where T : class, new()
    {
        var type = typeof (T);
        var attribute = type.GetCustomAttributes(typeof (WrapperObjectAttribute), false).SingleOrDefault() as WrapperObjectAttribute;
        if (attribute == null)
        {
            throw new InvalidOperationException(
                String.Format("{0} type must be decorated with a WrapperObjectAttribute.", type.Name));
        }

        var jobject = JObject.Parse(json);
        var collection = JsonConvert.DeserializeObject<List<T>>(jobject[attribute.WrapperObject].ToString());
        return collection;
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是双重的.GetCustomAttributes在Windows 8 Store App领域的限制范围内,该方法究竟做了什么以及与此方法等效?

.net c# windows-8 windows-runtime .net-core

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

未定义的符号引用,即使nm表示此符号存在于共享库中

这可能有什么问题?我有以下简单的类:

#include  "libmnl/libmnl.h"

int main() {
    struct mnl_socket *a = mnl_socket_open(12);
}
Run Code Online (Sandbox Code Playgroud)

运行简单的gcccompile(gcc -lmnl main.c)后,我得到以下错误:

/tmp/cch3GjuS.o: In function `main':
main.c:(.text+0xe): undefined reference to `mnl_socket_open'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

在共享库上运行nm表明它实际上已找到:

aatteka@aatteka-Dell1:/tmp$ nm -D /usr/lib/libmnl.so | grep mnl_socket_open
0000000000001810 T mnl_socket_open
Run Code Online (Sandbox Code Playgroud)

这是在Ubuntu 12.04上发生的.该libmnl-dev的libmnl0包安装.该strace输出gcc表明,ld使用正是*.so文件:

[pid 10988] stat("/usr/lib/gcc/x86_64-linux-gnu/4.6/libmnl.so", 0x7fff2a39b470) = -1 ENOENT (No such file or directory)
[pid 10988] open("/usr/lib/gcc/x86_64-linux-gnu/4.6/libmnl.so", O_RDONLY) = -1 ENOENT (No such file or …
Run Code Online (Sandbox Code Playgroud)

linux linker gcc shared-libraries

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

如何从字典列表中提取特定键的所有值?

我有一个字典列表,列表中的所有字典都具有相同的结构.例如:

test_data = [{'id':1, 'value':'one'}, {'id':2, 'value':'two'}, {'id':3, 'value':'three'}]
Run Code Online (Sandbox Code Playgroud)

我想value从列表中的每个字典中获取每个项目:

['one', 'two', 'three']
Run Code Online (Sandbox Code Playgroud)

我当然可以遍历列表并使用for循环提取每个值:

results = []
for item in test_data:
    results.append(item['value'])
Run Code Online (Sandbox Code Playgroud)

但是我的数据集非常大.我想知道是否有更快的方法.

python dictionary list

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

Word 2010插件无法加载,vsto 2010

我们的开发机器是运行Windows 7 Professional N(64位),64位Office Professional 2010和Visual Studio Professional 2010的64位硬件.

我们使用面向Office 2010的.NET Framework 4,Ribbons和Windows安装程序创建了Word 2010(应用程序级外接程序).我们遵循了从官方MSDN在线教程到点数的所有内容.对于我们的安装程序,我们选择了.NET 4客户端配置文件和Windows安装程序3.1作为先决条件,因为Office 2010安装了VSTO 4.0运行时,而.NET Framework 4具有无PIA功能.在启动条件下,我们使用适当的组件ID检查Office 2010共享PIA和Word 2010 PIA可用性.此外,我们检查了MSDN文章中列出的VSTO运行时可用性.

我们的加载项仅在Visual Studio debug(F5)中加载并执行完整功能.构建安装项目会创建Windows安装程序(msi).安装它会在机器上安装加载项而不会出现任何错误.但是,当我们尝试打开任何Word 2010文档时安装加载项后,我们正在目睹以下行为:

  1. 我们尝试打开任何Microsoft Word 2010文档,Word 2010启动屏幕显示,我们可以看到我们的加载项正在加载"加载[我们的]加载项",但Word 2010无法打开.启动屏幕消失,不显示任何错误消息.

  2. 第二次打开word文档只会激活此消息(此次没有单词2010启动屏幕):

    Word经历了'[Our] word addin'加载项的严重问题.如果您多次看过此消息,则应禁用此加载项并检查是否有可用的更新.你想禁用这个加载项吗?

    单击否,短暂激活Microsoft Word 2010的启动屏幕,然后再次停止加载(消失).单击是,打开Word 2010并[Our]禁用添加.通过单击File-Options-AddIns进行验证.查看已禁用的应用程序加载项

    设置VSTO_SUPPRESSDISPLAYALERTS=0VSTO_LOGALERTS=1没有使用任.我们检查了Temp目录,没有日志.

  3. 由于上述方法不起作用,我从名为"使用Windows Installer部署VSTO 2010 Office 2007/2010解决方案"的链接下载了示例项目, 并使用了Office Development下的相应项目Setup and Deployment Projects Samples\FX40\AddIn Deployment\All User Install for 64-bit Office.

    最初,我通过创建和运行安装程序(msi)测试了解决方案以正确加载演示Excel 2010加载项项目然后我们将Word AddIn项目按文件添加到解决方案文件并正确构建(CTRL+ SHIFT+ B).它甚至正确地从Visual …

vsto .net-4.0 visual-studio-2010 office-2010

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

如何在python中组合两个numpy数组元素?

我有两个numpy数组:

A = np.array([1, 3, 5, 7])
B = np.array([2, 4, 6, 8])
Run Code Online (Sandbox Code Playgroud)

我想从两者结合得到以下内容:

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

我可以通过使用来获得一些东西zip,但不是我正在寻找的东西:

>>> zip(A, B)
[(1, 2), (3, 4), (5, 6), (7, 8)]
Run Code Online (Sandbox Code Playgroud)

我如何组合两个numpy数组元素?


我对每个阵列中的50,000个元素进行了快速测试(100,000个组合元素).结果如下:

User Ma3x:      Time of execution: 0.0343832323429      Valid Array?:  True
User mishik:    Time of execution: 0.0439064509613      Valid Array?:  True
User Jaime:     Time of execution: 0.02767023558        Valid Array?:  True
Run Code Online (Sandbox Code Playgroud)

使用Python 2.7,Windows 7企业版64位,英特尔酷睿i7 2720QM @ 2.2 Ghz Sandy Bridge,8 GB Mem进行测试

python arrays numpy python-2.7

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

Excel VSTO如何工作?

Excel VSTO如何工作?如果我在Visual Studio 2005中创建Excel工作簿解决方案,那么我可以愉快地编写代码,完全访问Excel对象模型,甚至将Excel工作表视为设计图面.当我构建解决方案时,我得到一个.XLS文件和一个.DLL(包含我的C#代码).

我现在可以通过双击来启动Excel工作表,.XLS并且我的工作表上有我所有的C#代码和我在工作表上删除的任何控件等.

表格如何引用.DLL?excel工作簿/表的哪一部分告诉它需要启动CLR并托管我的程序集?

c# excel vsto clr-hosting

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

在安装项目中包含文件夹

我想在安装项目中包含一个文件夹,以便在部署该安装程序时,整个文件夹也会部署到安装位置.

c# installation setup-project visual-studio-2008 visual-studio

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