问题列表 - 第41285页

是否为python的dict构造函数保留了kwargs?

当使用kwarg风格的dict初始化时:

In [3]: dict(a=1, b=2, c=3)
Out[3]: {'a': 1, 'b': 2, 'c': 3}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,定义键'from'会引发语法错误:

In [4]: dict(to=0, from=1)
------------------------------------------------------------
   File "<ipython console>", line 1
     dict(to=0, from=1)
                   ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

密钥'from'有什么特别之处?是否还有其他保留键用于kwarg风格的初始化?

我使用的是Python 2.6.

python

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

确定数字是否为素数

我已经在这个主题上仔细阅读了很多代码,但是大多数代码都生成了一直到输入数字为止的数字.但是,我需要的代码只检查给定的输入数是否为素数.

这是我能够写的,但它不起作用:

void primenumber(int number)
{
    if(number%2!=0)
      cout<<"Number is prime:"<<endl;
    else 
      cout<<"number is NOt prime"<<endl;
}
Run Code Online (Sandbox Code Playgroud)

如果有人能就如何正确地开展这项工作给我建议,我将不胜感激.

更新

我修改它来检查for循环中的所有数字.

void primenumber(int number)
{
    for(int i=1; i<number; i++)
    {
       if(number%i!=0)
          cout<<"Number is prime:"<<endl;
       else 
          cout<<"number is NOt prime"<<endl;
    }  
}
Run Code Online (Sandbox Code Playgroud)

c++ algorithm primes

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

用于修改字符串外引号的 ruby​​ 代码?

有谁知道对字符串的外引号进行操作的 Ruby gem(或内置或本机语法,就此而言)?

我发现自己一遍又一遍地编写这样的方法:

remove_outer_quotes_if_quoted( myString, chars ) -> aString
add_outer_quotes_unless_quoted( myString, char ) -> aString
Run Code Online (Sandbox Code Playgroud)

第一个测试myString它的开始和结束字符是否与chars. 如果是,则返回去掉引号的字符串。否则它返回它不变。chars默认为引号字符列表。

第二个测试myString以查看它是否已经开始和结束char。如果是,则返回未更改的字符串。如果不是,它返回char前后附加的字符串,并且任何嵌入的出现char都用反斜杠转义。char默认为默认字符列表中的第一个。

(当然,我手工拼凑的方法没有如此冗长的名称。)

我在公共存储库中四处寻找类似的方法,但找不到类似的方法。我是唯一一个需要做很多事情的人吗?如果没有,其他人是如何做到这一点的?

ruby string quote

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

iPhone 4上的GPS准确度如何?

快速的问题.iPhone 4上的GPS准确度如何?我问,因为我正在为一家公司做一个企业项目,其中第二部分将处理iDevice开发,我必须确定用户的位置.我想知道GPS是否足够准确以感知用户在房间内移动,因为用户在移动房间时必须"标记"房间的各个部分.

提前致谢!

PS压缩它不会产生太大的影响,但用户实际上最终会使用iPad,而不是iPhone,而且整个项目完成时iPad 2的可能性很大.我不知道iPad 2是否会有更好的GPS接收器,但至少我应该使用iPad/iPhone 4 GPS接收器......

iphone gps ipad

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

用于跟踪重复项的python数据类型

我经常用这样的东西跟踪重复:

processed = set() 
for big_string in strings_generator:
    if big_string not in processed:
        processed.add(big_string)
        process(big_string)
Run Code Online (Sandbox Code Playgroud)

我正在处理大量数据,因此不希望在内存中维护已处理的集合.我有一个使用sqlite将数据存储在磁盘上的版本,但是这个过程运行得慢得多.

要减少内存使用你对使用这样的哈希的看法:

processed = set() 
for big_string in string_generator:
    key = hash(big_string)
    if key not in ignored:
        processed.add(key)
        process(big_string)    
Run Code Online (Sandbox Code Playgroud)

缺点是我可能会偶尔通过哈希冲突丢失数据.10亿次哈希中的1次碰撞对我来说不是问题.

我尝试了md5哈希,但发现生成哈希成了瓶颈.

你会建议什么呢?

python memory hash types

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

CIL委托行为与目标方法的"静态"冲突

这个问题需要一些介绍.

我正在开发一个安全项目,它将分析CIL程序集并拒绝那些执行某些定义的"坏"事情,同时还允许托管应用程序为某些方法提供"门",以允许某些调用被过滤.(这是项目功能的一小部分,但这是我将在这里查询的部分.)

该项目扫描程序集中每个方法中的所有指令,并查找调用,callvirt,ldftn,ldvirtftn和newobj操作码,因为这些是唯一可以最终导致方法调用的操作码.构造委托时使用ldftn操作码,如下所示:

ldarg.1
ldftn instance bool string::EndsWith(string)
newobj instance void class [System.Core]System.Func`2<string, bool>::'.ctor'(object, native int)
Run Code Online (Sandbox Code Playgroud)

在此序列结束时,a Func<string, bool>位于堆栈的顶部.

假设我想拦截所有来电String.EndsWith(String).对于call和callvirt,我可以用签名的静态调用替换实例调用Boolean(String,String)- 第一个参数将是最初调用该方法的字符串实例.在CIL级别上,行为将是明确且明确定义的,因为这是静态方法的调用方式.

但对于ldftn?我尝试用替换call/callvirt的操作数的相同静态方法替换ldftn指令的操作数:

ldarg.1
ldftn bool class Prototype.Program::EndsWithGate(string, string)
newobj instance void class [System.Core]System.Func`2<string, bool>::'.ctor'(object, native int)
Run Code Online (Sandbox Code Playgroud)

我完全期望这会失败,因为委托给了一个目标对象(不是null),同时传递一个静态方法指针.令我惊讶的是,这实际上适用于Microsoft .NET运行时和Mono.我知道target/this参数只是方法的第一个参数,并且对于实例方法是隐藏的.(该项目基于这些知识.)但是代表们在这种情况下实际工作的事实对我来说有点令人费解.

所以,我的问题是:这是定义和记录的行为吗?代理在被调用时是否总是将目标压缩到堆栈上,如果它不是空的?构建一个捕获目标并"正确"调用静态方法的闭包类会更好吗,即使这会更复杂和烦人吗?

.net clr cil

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

无法让HttpParams使用Postrequest

我无法从Android-API中获取HttpParams内容.

我只是不想用我的Postrequest发送一些简单的参数.除参数外,一切正常.将参数设置为postrequest的代码:

HttpParams params = new BasicHttpParams();
params.setParameter("password", "secret");
params.setParameter("name", "testuser");
postRequest.setParams(params);
Run Code Online (Sandbox Code Playgroud)

似乎这段代码根本没有添加任何参数,因为服务器总是回答,我的请求缺少"名称"参数.

实际按预期工作的一个例子:

ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("name", "testuser"));
postParameters.add(new BasicNameValuePair("password", "secret"));
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
postRequest.setEntity(formEntity);
Run Code Online (Sandbox Code Playgroud)

但我想使用第一个例子的版本,因为它更容易阅读和理解.

任何暗示都非常感谢!

android http android-internet

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

如何将Django QuerySet转换为列表

我有以下内容:

answers = Answer.objects.filter(id__in=[answer.id for answer in answer_set.answers.all()])
Run Code Online (Sandbox Code Playgroud)

然后:

for i in range(len(answers)):
    # iterate through all existing QuestionAnswer objects
    for existing_question_answer in existing_question_answers:
        # if an answer is already associated, remove it from the
        # list of answers to save
        if answers[i].id == existing_question_answer.answer.id:
            answers.remove(answers[i])           # doesn't work
            existing_question_answers.remove(existing_question_answer)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

'QuerySet' object has no attribute 'remove'
Run Code Online (Sandbox Code Playgroud)

我已经尝试了各种将QuerySet转换为标准集或列表.什么都行不通.

如何从QuerySet中删除一个项目,以便它不会从数据库中删除它,并且不会返回一个新的QuerySet(因为它在一个不起作用的循环中)?

django

107
推荐指数
8
解决办法
17万
查看次数

du -skh*in /返回与centos 5.5上的df大不相同的大小

我有一个vps切片运行centos 5.5我应该有15演出的磁盘空间,但根据df它似乎加倍我的磁盘空间使用.

当我du -skh *以/ root身份运行时,我得到:

[root@yardvps1 /]# du -skh *
0       aquota.group
0       aquota.user
5.2M    bin
4.0K    boot
4.0K    dev
4.9M    etc
2.5G    home
12M     lib
14M     lib64
4.0K    media
4.0K    mnt
299M    opt
0       proc
692K    root
23M     sbin
4.0K    selinux
4.0K    srv
0       sys
48K     tmp
2.0G    usr
121M    var
Run Code Online (Sandbox Code Playgroud)

这与我上传到机器的内容一致,最多可增加约5gig.

但是,当我跑,df我得到:

[root@yardvps1 /]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/simfs            15728640  11659048   4069592  75% /
none                    262144         4    262140   1% …
Run Code Online (Sandbox Code Playgroud)

linux diskspace centos vps du

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

如何从服务器控件中删除'name'属性?

以下asp.net端控制代码:

<asp:TextBox runat="server" ID="LimitTextBox" Text="20" ClientIDMode="Static" />
Run Code Online (Sandbox Code Playgroud)

生成这样的HTML代码:

<input name="ctl11$ctl00$ctl02$TeamPlayerSelector$LimitTextBox" 
    type="text" value="20" id="LimitTextBox">
Run Code Online (Sandbox Code Playgroud)

ID属性 - 根据需要,但如何删除'name'属性?这对我来说并不是必需的,也不会将其转移到用户浏览器.

如何防止"名称"属性生成?谢谢

PS我在ASP.NET 4.0下工作

html asp.net asp.net-4.0

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

标签 统计

python ×2

.net ×1

algorithm ×1

android ×1

android-internet ×1

asp.net ×1

asp.net-4.0 ×1

c++ ×1

centos ×1

cil ×1

clr ×1

diskspace ×1

django ×1

du ×1

gps ×1

hash ×1

html ×1

http ×1

ipad ×1

iphone ×1

linux ×1

memory ×1

primes ×1

quote ×1

ruby ×1

string ×1

types ×1

vps ×1