小编bph*_*bph的帖子

numpy替换数组中的负值

任何人都可以建议用0替换数组中的所有负值的简单方法吗?

我正在使用numpy数组完成一个完整的块

例如

a = array([1, 2, 3, -4, 5])
Run Code Online (Sandbox Code Playgroud)

我需要回来

[1, 2, 3, 0, 5]
Run Code Online (Sandbox Code Playgroud)

a < 0 得到:

[False, False, False, True, False]
Run Code Online (Sandbox Code Playgroud)

这就是我被困的地方 - 如何使用这个数组来修改原始数组

python numpy

79
推荐指数
3
解决办法
8万
查看次数

Matplotlib离散色条

我试图在matplotlib中为散点图创建一个离散的颜色条

我有我的x,y数据,每个点都有一个整数标记值,我希望用一种独特的颜色表示,例如

plt.scatter(x, y, c=tag)
Run Code Online (Sandbox Code Playgroud)

通常标记将是0到20之间的整数,但确切的范围可能会改变

到目前为止,我刚刚使用了默认设置,例如

plt.colorbar()
Run Code Online (Sandbox Code Playgroud)

它提供了连续的颜色范围.理想情况下,我想要一组n个离散颜色(在这个例子中n = 20).更好的方法是将标签值设为0以产生灰色,1-20为彩色.

我找到了一些'cookbook'脚本,但它们非常复杂,我不认为它们是解决看似简单问题的正确方法

python matplotlib

77
推荐指数
6
解决办法
9万
查看次数

用于显示缓冲区与其对应文件之间差异的命令

是否有emacs命令来显示缓冲区与其文件之间的区别?

例如,我已经对缓冲区进行了一些编辑,忘记了它们是什么,现在我需要将缓冲区保存到其文件中,但是想要先查看我实际更改的内容.

emacs diff

48
推荐指数
2
解决办法
8259
查看次数

字符串文字的C优化

刚刚在gdb中检查以下内容:

char *a[] = {"one","two","three","four"};
char *b[] = {"one","two","three","four"};
char *c[] = {"two","three","four","five"};
char *d[] = {"one","three","four","six"};
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

(gdb) p a
$17 = {0x80961a4 "one", 0x80961a8 "two", 0x80961ac "three", 0x80961b2 "four"}
(gdb) p b
$18 = {0x80961a4 "one", 0x80961a8 "two", 0x80961ac "three", 0x80961b2 "four"}
(gdb) p c
$19 = {0x80961a8 "two", 0x80961ac "three", 0x80961b2 "four", 0x80961b7 "five"}
(gdb) p d
$20 = {0x80961a4 "one", 0x80961ac "three", 0x80961b2 "four", 0x80961bc "six"}
Run Code Online (Sandbox Code Playgroud)

我真的很惊讶字符串指针对于相同的单词是相同的.我原以为每个字符串都会在堆栈上分配自己的内存,无论它是否与另一个数组中的字符串相同.

这是某种编译器优化的示例,还是这种字符串声明的标准行为?

c string gcc compiler-optimization string-pool

22
推荐指数
2
解决办法
3746
查看次数

如何找到Android设置的ndk修订号

有没有办法ndk revision number从cmd行或android studio中找到理想的?

我的用例是android studio已经运行更新,取而代之ndk-bundle的是最新版本,我想能够找出什么修订版没有.那是.即r10d,r11a等等.

UPDATE

〜/ Android/Sdk/ndk-bundle/CHANGELOG.md看起来像这样 - 我看不到对修订号的明确引用,可以吗?也许它只有11,但他们通常也有一封信?

Changelog
=========

Report issues to [GitHub].

[GitHub]: https://github.com/android-ndk/ndk/issues

NDK
---
 * Removed all sysroots for pre-GB platform levels. We dropped support for them
   in r11, but neglected to actually remove them.
 * Exception handling when using `c++_shared` on ARM32 now mostly works (see
   [Known Issues](#known-issues)). The unwinder will now be linked into each
   linked object rather than into libc++ itself.
 * …
Run Code Online (Sandbox Code Playgroud)

android android-ndk

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

使用make进行跨平台编译

我目前正在Linux和Win32下开发一个C项目.'deliverrable'是一个共享库,所有开发都是在Linux下使用GNU工具链完成的.我正在使用Makefile来编译共享库.

我不得不从同一个src在Win32下构建一个.dll.

我在Win32的盒子,这样我可以使用make并获得安装MinGW的从编译器的投诉减少(相比于MSVC).我正处于src代码在两个平台上编译的阶段

但是Linux Makefile和Win32 Makefile是不同的.我很好奇如何最好地处理这个 - 我应该:

  1. 有2个makefile,例如Makefile for linux和Makefile.WIN32,然后make -f Makefile.WIN32在Windows框上运行

  2. 我应该在单个Makefile中创建一个不同的目标,并make WIN32在Windows框中执行类似的操作

  3. 我应该放弃制作并使用CMake(对于这样一个简单的项目来说,果汁值得挤压,即1个共享库)

c cross-platform makefile

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

符号的函数定义为void:x-cut-buffer-or-selection-value

刚刚在Windows 7下安装了Emacs 24

尝试在emacs中剪切和粘贴(kill&yank)时出现以下错误,例如

C-k, C-y
Run Code Online (Sandbox Code Playgroud)

杀死一行并将其复制到其他地方:

Symbol's function definition is void: x-cut-buffer-or-selection-value
Run Code Online (Sandbox Code Playgroud)

我已经从我的.emacs注释了以下内容并重新启动了emacs,但错误仍然存​​在:

;; get copy and paste to work between emacs and other windows
;; (setq x-select-enable-clipboard t)
;; (setq interprogram-paste-function 'x-cut-buffer-or-selection-value)
Run Code Online (Sandbox Code Playgroud)

我没有类似的问题使用emacs 24与linux下相同的.emacs文件

我做了一个初步的googel拖网,但是我发现的所有信息都表明这个bug已经修好了,这对我没什么帮助

不幸的是,这使得emacs在windows下无法使用

UPDATE

这条线似乎没有导致问题:

;; get copy and paste to work between emacs and other windows
(setq x-select-enable-clipboard t)
Run Code Online (Sandbox Code Playgroud)

但这些线路:

;; this line causes cut/paste errors under windows (emacs 24)
;; (setq interprogram-paste-function 'x-cut-buffer-or-selection-value)

;; this alternative fixes windows problems but causes errors under …
Run Code Online (Sandbox Code Playgroud)

emacs

18
推荐指数
2
解决办法
3365
查看次数

PreferenceFragment中的上下文

取自http://developer.android.com/guide/topics/ui/settings.html:

注意:PreferenceFragment没有自己的Context对象.如果需要Context对象,可以调用getActivity().但是,只有在片段附加到活动时才要小心调用getActivity().当片段尚未附加或在其生命周期结束时被分离时,getActivity()将返回null.

如果我从PreferenceFragment的OnCreate()方法中调用getActivity(),那么我可以确定该片段是附加到它的活动 - 还是有其他方法你应该在这个实例中获取Context?

我需要Context的原因是我正在尝试使用PreferenceFragment中的Toast通知

android android-preferences android-fragments

15
推荐指数
1
解决办法
7528
查看次数

matplotlib挂钩到主页/后退/前进按钮事件

有没有人知道如何从matplotlib数字'获得''回家','回'和'前进'按钮事件?

我需要事件调用我的一些函数,以便在按下这些按钮时我的绘图行为正确,即默认行为不是我需要它做的事情

Matplotlib假设底层数据集是常量,并且它所需要做的就是重置x/y轴限制并重新设置这些按钮 - 不幸的是,这种假设对我的情况来说是不真实的 - 我有一个需要被推送和弹出的数据堆栈按钮事件被触发

python matplotlib

15
推荐指数
3
解决办法
5305
查看次数

C数组大小通过gdb

我知道你可以在gdb中打印一个数组,例如

(gdb) p *array@10
Run Code Online (Sandbox Code Playgroud)

是否有一个gdb命令可以告诉你它的长度,例如键入以下内容的方便快捷方式:

(gdb) p sizeof(array)/sizeof(int)
Run Code Online (Sandbox Code Playgroud)

如果已在编译时定义了数组,并且您想要检查它

c gdb

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