问题列表 - 第12131页

Python和字典就像对象

我需要一个用于字典的python 3.1深度更新函数(一个递归更新父字典内的子字典的函数).

但我认为,在将来,我的函数可能必须处理行为像字典但不是字典的对象.而且我想避免使用isinstancetype(因为它们被认为是坏的,因为我几乎可以阅读每个Pythonista的博客).

但鸭子打字是Python的哲学的一部分,所以我怎么能检查对象是否像字典一样?

谢谢!

编辑:谢谢大家的答案.以防万一,我编码的函数可以在这个地方找到:http://blog.cafeaumiel.com/public/python/dict_deep_update.py

python dictionary duck-typing

17
推荐指数
1
解决办法
8773
查看次数

有没有办法只从python列表输出数字?

简单问题:

list_1 = [ 'asdada', 1, 123131.131, 'blaa adaraerada', 0.000001, 34.12451235265, 'stackoverflow is awesome' ]
Run Code Online (Sandbox Code Playgroud)

我想创建一个list_2只包含数字的内容:

list_2 = [ 1, 123131.131, 0.000001, 34.12451235265 ]
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法,或者我是否必须检查每个列表项的变量类型,只输出数字?

python

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

strtok和函数调用

我有这种非常奇怪的行为:

在下面的代码中:如果我对MyLogger的调用进行注释,那么一切正常,即我将sTempNr标记化并打印4个令牌.但是如果我取消对MyLogger的调用以进行日志记录,那么只有迭代发生一次,并且在其他测试类中使用类似的代码,如下所示,循环发生超过4次,并且冗余信息被发送到MyLogger.

因此,我使用Purify工具检查以确定MyLogger中是否存在某些内存问题.找不到任何东西.MyLogger使用vaargs提取args和vfprintf调用打印.

我不确定如何进一步调试此代码.任何指导将不胜感激!.

char sTempNr[41] = "1129Z13589.2.9.10";
char *sTempStr;
sTempStr = NULL;

sTempStr = strtok(sTempNr,".");
while (sTempStr)
{
     printf("in in TempStr[%s]\n",sTempStr);
      //MyLogger("write","","Temp String[%s]",sTempStr);

     sTempStr = strtok(NULL,".");
}
Run Code Online (Sandbox Code Playgroud)

c string strtok

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

我应该将初始java String值从null设置为""吗?

我常常有一个班级:

public class Foo
{
private String field1;
private String field2;

// etc etc etc
}
Run Code Online (Sandbox Code Playgroud)

这使得field1和field2的初始值等于null.拥有我的所有String类字段会更好吗?

public class Foo
{
private String field1 = "";
private String field2 = "";

// etc etc etc
}
Run Code Online (Sandbox Code Playgroud)

然后,如果我与类定义一致,我会避免很多空指针问题.这种方法有什么问题?

java string null initialization

47
推荐指数
7
解决办法
7万
查看次数

wxPython:wx.CallLater很晚

在我的wxPython应用程序中,我有一个EVT_IDLE处理程序,它调用一个必须每150毫秒左右调用一次的函数.调用该函数后,处理程序调用:

wx.CallLater(150,self._clear_idle_block_and_do)
Run Code Online (Sandbox Code Playgroud)

_clear_idle_block_and_do功能基本上发布了另一个EVT_IDLE事件,继续循环.

现在我注意到当GUI中的其他小部件正在努力工作时,EVT_IDLE事件处理程序几乎不会被调用!有时它不会被召唤4秒,这太过分了.

这是因为wx.CallLater表现不佳吗?有什么我能做的吗?

wxpython

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

Java Regex替换为捕获组

可能重复:
Java Regex替换为捕获组

有没有办法用修改后的捕获组内容替换正则表达式?

例:

Pattern regex = Pattern.compile("(\\d{1,2})");
Matcher regexMatcher = regex.matcher(text);
resultString = regexMatcher.replaceAll("$1"); // *3 ??
Run Code Online (Sandbox Code Playgroud)

而且我想用$ 1替换所有出现次数乘以3.

编辑:

看起来,有些不对劲:(

如果我使用

Pattern regex = Pattern.compile("(\\d{1,2})");
Matcher regexMatcher = regex.matcher("12 54 1 65");
try {
    String resultString = regexMatcher.replaceAll(regexMatcher.group(1));
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

它抛出IllegalStateException:找不到匹配项

Pattern regex = Pattern.compile("(\\d{1,2})");
Matcher regexMatcher = regex.matcher("12 54 1 65");
try {
    String resultString = regexMatcher.replaceAll("$1");
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

工作正常,但我不能改变$ 1 :(

EDIT2:

现在,它的工作:)

java regex

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

为什么我应该使用ActiveMQ发送电子邮件?

很多星期前我推荐我发送电子邮件,ActiveMQ.所以我搜索有关这方面的信息,但我完全不明白这是如何工作的.有人可以解释一下为什么我应该使用ActiveMQ发送电子邮件?

java messaging activemq-classic

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

如何在vim法术中改变单词识别?

我喜欢vim 7.0支持拼写检查:set spell,我喜欢它默认只检查我的C代码中的注释和文本字符串.但我想找到一种方法来改变行为,以便vim知道当我写下包含下划线的单词时,我不希望检查单词拼写.

问题是我经常在我的评论中引用变量或函数名称,所以现在vim认为每个不完整正确单词的文本都是拼写错误.例如.

/* The variable proj_abc_ptr is used in function do_func_stuff' */

大多数情况下,由下划线分隔的部分是完整的单词,但有时它们是我不希望添加到单词列表中的缩写.是否有任何全局方式告诉vim在拼写检查时将_作为单词的一部分?

vim spell-checking

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

寻找屏幕抓取可能值得的例子

屏幕抓取似乎是一个有用的工具 - 你可以去别人的网站并窃取他们的数据 - 多么美妙!

但是我很难知道这有多大用处.

即使在网络上,大多数应用程序数据也非常特定于该应用程序.例如,假设我从StackOverflow中删除所有问题和答案,或者从谷歌的所有结果中删除(假设这是可能的) - 我留下的数据不是很有用,除非我有一个竞争问题和回答网站(在这种情况下,被盗数据将立即显而易见)或竞争搜索引擎(在这种情况下,除非我有自己的算法,我的数据将很快变得陈旧).

所以我的问题是,在什么情况下,一个应用程序的数据对某些外部应用程序有用?我正在寻找一个实际的例子来说明这一点.

screen-scraping

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

在同一个项目中混合使用C#和VB

你能在同一个项目中为类库混合使用vb和c#文件吗?是否有一些设置可以实现?

虽然后台编译器似乎能够很好地处理它,但我尝试了并不是intellisense都没有做得很好(除了我,然后,在同一名称空间中有2个类具有相同的名称并且它没有抱怨).

我们正在尝试从VB转换为C#但尚未完成所有代码的转换.我有一些我需要编写的新代码,但并不是真的想要为它创建一个新项目.

c# vb.net

139
推荐指数
6
解决办法
13万
查看次数