Code Planet

为了发现更大的世界


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

python高阶函数

发表于 2014-09-20 | 更新于 2015-08-15 | 分类于 python
参见廖雪峰的python教程
[http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386819873910807d8c322ca74d269c9f80f747330a52000](http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386819873910807d8c322ca74d269c9f80f747330a52000)
>>> def fun(x):
return x*x
>>> **def** my_map(f,L): newL = [] **for** item **in** L: newL.append(f(item)) #print item #print L **return** newL >>> my_map(fun,[2,3]) #映射关系 [4, 9] >>> sum([d **for** d **in****range**(101)]) 5050 >>> **def** prod(L): **return** **reduce**(**lambda** x,y:x*y,L) #计算阶乘 >>> prod([d **for** d **in** **range**(1,5)]) 24 >>> prod([d **for** d **in** **range**(1,6)]) 120

480

发表于 2014-09-17 | 更新于 2015-08-15 | 分类于 未分类

熟悉使用vim + ctags阅读代码。redis源代码值得深入学习,有助于理解数据结构。

scikit learn 安装

发表于 2014-08-19 | 更新于 2015-08-15 | 分类于 未分类

1.可以使用easy_install安装相关包,但是可能会不兼容,比如numpy的包。比较可靠的做法是自己下载相应版本的然后安装:

地址为:[http://www.lfd.uci.edu/~gohlke/pythonlibs/](http://www.lfd.uci.edu/~gohlke/pythonlibs/)
2.需要安装的包大致如下:numpy,scipy,matplotlib,scikit-learn;安装matplotlib需要pyparsing,six,dateutil;还需用到nose
3.测试matplotlib代码:

  1. <span class="kwd">import</span><span class="pln"> numpy </span><span class="kwd">as</span><span class="pln"> np</span>
  2. <span class="kwd">import</span><span class="pln"> matplotlib</span><span class="pun">.</span><span class="pln">pyplot </span><span class="kwd">as</span><span class="pln"> plt</span>
  3. <span class="pln">&nbsp;</span>
  4. <span class="pln">X </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">arange</span><span class="pun">(-</span><span class="lit">5.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">5.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.1</span><span class="pun">)</span>
  5. <span class="pln">Y </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">arange</span><span class="pun">(-</span><span class="lit">5.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">5.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.1</span><span class="pun">)</span>
  6. <span class="pln">&nbsp;</span>
  7. <span class="pln">x</span><span class="pun">,</span><span class="pln"> y </span><span class="pun">=</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">meshgrid</span><span class="pun">(</span><span class="pln">X</span><span class="pun">,</span><span class="pln"> Y</span><span class="pun">)</span>
  8. <span class="pln">f </span><span class="pun">=</span><span class="pln"> </span><span class="lit">17</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> x </span><span class="pun">**</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">16</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> np</span><span class="pun">.</span><span class="pln">abs</span><span class="pun">(</span><span class="pln">x</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> y </span><span class="pun">+</span><span class="pln"> </span><span class="lit">17</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> y </span><span class="pun">**</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">225</span>
  9. <span class="pln">&nbsp;</span>
  10. <span class="pln">fig </span><span class="pun">=</span><span class="pln"> plt</span><span class="pun">.</span><span class="pln">figure</span><span class="pun">()</span>
  11. <span class="pln">cs </span><span class="pun">=</span><span class="pln"> plt</span><span class="pun">.</span><span class="pln">contour</span><span class="pun">(</span><span class="pln">x</span><span class="pun">,</span><span class="pln"> y</span><span class="pun">,</span><span class="pln"> f</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> colors </span><span class="pun">=</span><span class="pln"> </span><span class="str">'r'</span><span class="pun">)</span>
  12. <span class="pln">plt</span><span class="pun">.</span><span class="pln">show</span><span class="pun">()</span></pre></div>
    4.测试scikit-learn请自行查看手册:[http://cbio.ensmp.fr/~nvaroquaux/scikit-learn/user_guide.html](http://cbio.ensmp.fr/~nvaroquaux/scikit-learn/user_guide.html)
    </div>
    Have fun!
[来自为知笔记(Wiz)](http://www.wiz.cn/i/c09d0bb5 "来自为知笔记(Wiz)")

473

发表于 2014-07-13 | 更新于 2015-08-15 | 分类于 未分类

learning git

471

发表于 2014-07-10 | 更新于 2015-08-15 | 分类于 未分类

How many roads must a man walk down

Before they call him a man

fatal error LNK1123

发表于 2014-07-01 | 更新于 2015-08-15 | 分类于 未分类

为了学习cocos2d-x,安装了vs2012,之后运行vs2010的项目出现问题:

1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
解决方法:
1.解决方案更改属性 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 将“是”改为“否”即可;
![](http://codeplanet-wordpress.stor.sinaapp.com/uploads/2014/07/wpid-8fc8194c411808599d2f53d133f68982_107483222.png)
2.如果无法解决搜索cvtres.exe文件:可能存在两个版本
一个位于C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe;
另一个位于C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe;
使用高版本的替换低版本的。
来源:[http://bbs.csdn.net/topics/390121452](http://bbs.csdn.net/topics/390121452)

461

发表于 2014-05-17 | 更新于 2015-08-15 | 分类于 未分类

Need Passion, Need Courage.

Qt信号机制一点问题

发表于 2014-05-17 | 更新于 2015-08-15 | 分类于 qt
**QTreeWidget具有以下的信号:**
void currentItemChanged(QTreeWidgetItem * current, QTreeWidgetItem * previous)
void itemActivated(QTreeWidgetItem * item, int column)
void itemChanged(QTreeWidgetItem * item, int column)
void itemClicked(QTreeWidgetItem * item, int column)
void itemCollapsed(QTreeWidgetItem * item)
void itemDoubleClicked(QTreeWidgetItem * item, int column)
void itemEntered(QTreeWidgetItem * item, int column)
void itemExpanded(QTreeWidgetItem * item)
void itemPressed(QTreeWidgetItem * item, int column)
void itemSelectionChanged()
使用中遇到一些问题
程序中设置
//定义
**public** slots: **void** itemDoubleClicked(QTreeWidgetItem*, **int**);
//连接
connect(ui.m_TreeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem * item, int column)), this, SLOT(itemDoubleClicked(QTreeWidgetItem * item, int column)));
会遇到以下问题
![](http://codeplanet-wordpress.stor.sinaapp.com/uploads/2014/05/wpid-5b11432c30b8024e30a685c5dc6ca271_79030636.png)
Q:明明存在信号为什么没有连接起来?
A:Qt预编译的时候不要使用变量名
只需要把连接改成:
connect(ui.m_TreeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem * item, **int** column)), **this**, SLOT(itemDoubleClicked(QTreeWidgetItem *, **int**)));
就可以作用了。

QVTKWidget自适应窗口大小

发表于 2014-05-13 | 更新于 2015-08-15 | 分类于 qt

当我们直接拖拽使用QVTKWidget的时候,程序编译运行,会遇到QVTKWidget无法自适应窗口大小的问题。

** **
**解决方法:**
1.为了让一个widget大小自适应窗口,它需要被置于一个layout当中;
2.在UI类的构造中添加下列代码即可实现功能:
>
> >
ui->setupUi(**this**); > > setLayout(ui->verticalLayout_2);
> >
**参考:**
http://codefast.blogspot.com/2009/06/qt-auto-resize-with-qt-designer.html(墙外)

编译x64版本QT

发表于 2014-05-07 | 更新于 2015-08-15 | 分类于 qt

由于ITK处理的时候内存问题,项目由32位平台转到64位平台。需要重新编译QT、VTK、ITK,中间遇到些许问题,记录下来。编译顺序有讲究,因为VTK会依赖一些QT包,所以我们需要先编译QT。

1、安装Perl(我也不确定是否真实需要);
2、下载并解压QT源码(假设解压目录为C:\qt\src)
3、设置环境变量
>
QTDIR=C:\qt\src
> >
QMAKESPEC=win32-msvc2010
4、将目录添加到PATH
%QTDIR%\bin
5、下载Jom并解压(假设路径为C:\qt)
6、启动VS2010 x64命令后提示,切换到工作目录,随后nmake
>
> >
configure -debug-and-release -opensource -platform win32-msvc2010 > > ..\jom.exe -j N ----其中N为CPU核心数
> >
**注意:**
上面的方法是参照1法进行的,不能正确编译,会遇到两个问题:
**1.NMAKE : fatal error U1077: “cd”: 返回代码“0x2”的错误**
**解决方法是:**
将DefaultLocalizationStrategy.cpp中
**return** WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
改为
**return** WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
**2.无法正确生成QtWebKit4.dll链接库**
**解决方法是:**
将WebCore.pro中的
QMAKE_HOST.arch
改为
QMAKE_TARGET.arch
参考资料:
【1】[http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qt-4-7-with-visual-studio-2010/](http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qt-4-7-with-visual-studio-2010/)
【2】[http://stackoverflow.com/questions/9543753/how-to-compile-qt-for-64-bit-windows-from-a-32-bit-environment-with-visual-c-2?rq=1](http://stackoverflow.com/questions/9543753/how-to-compile-qt-for-64-bit-windows-from-a-32-bit-environment-with-visual-c-2?rq=1)
【3】[http://blog.csdn.net/lzrocking/article/details/7925051](http://blog.csdn.net/lzrocking/article/details/7925051)
1…678…12
Lu Xiaohua

Lu Xiaohua

116 日志
33 分类
86 标签
GitHub E-Mail
© 2019 Lu Xiaohua
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Muse v7.0.0