我正在构建一个web2py控制器,我需要在表中查询一个字段中值x的组合和第二个字段(在同一行中)的值y的组合.要查询单个字段,我只想写
db.table.field == x
Run Code Online (Sandbox Code Playgroud)
但我不知道如何编写查找查询 field==x AND field2==y
我有一个类别列表(1-4),我想要一个循环迭代所有这些.但是我需要能够以随机类别开始并且如果我的起点位于列表[0]之前,则回绕到列表的开头.
我能够以相当冗长的方式做到这一点,但我想知道是否有更快/更优雅的方式.这就是我所做的(并且它有效):
def categorize(self, cat):
cats = [1,2,3,4]
if cat > 1:
ncats = cats[:(cat-1)]
cats = cats[(cat-1):]
cats.extend(ncats)
for c in cats:
pass
Run Code Online (Sandbox Code Playgroud) 我试图扩展一个列表,并对结果返回值为None感到困惑.我试过的是这个:
>>> a = [1,2]
>>> b = [3,4]
>>> a = a.extend(b)
>>> print a
None
Run Code Online (Sandbox Code Playgroud)
我终于意识到问题是最后对'a'的冗余分配.这样可行:
>>> a = [1,2]
>>> b = [3,4]
>>> a.extend(b)
>>> print a
[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
我不明白的是为什么第一个版本不起作用.对'a'的赋值是多余的,但为什么它会破坏操作呢?
我有一个PHP脚本,应该为ajax调用生成一个xml文件.它正在生成此错误消息:
警告:无法修改标头信息 - 已经发送的标头(在/ home/ocp/public_html/sites/all/modules /中从/home/ocp/public_html/sites/all/modules/bookDisplay/getVersions.php:1开始输出)第2行的bookDisplay/getVersions.php
奇怪的是,php脚本的开头如下所示:
<?php
header('content-type:application/xml;charset=utf-8');
Run Code Online (Sandbox Code Playgroud)
因此,在我尝试在第2行再次发送它们之前,任何标头都没有在第1行!我发现有关类似问题的所有讨论都讨论了额外的空白,但我已经检查过并进行了三次检查,并且没有额外的行或空格.
该脚本是从jquery ajax()函数调用的,如下所示:
function getVersions(){
var bookSelected = $.data(document.body, 'book');
$.ajax({
cache:"false",
type: "GET",
dataType: "xml",
url: "sites/all/modules/bookDisplay/getVersions.php",
data: "book=" + bookSelected,
success:function(xml){
}
});
}
Run Code Online (Sandbox Code Playgroud)
这个jquery函数是否以某种方式发送与php文件中发送的标头冲突的标头?我已经尝试删除"dataType"声明,这确实摆脱了错误消息.但后来响应以text/html的形式返回,而不是xml.如何在没有"已发送标头"错误的情况下获得对ajax调用的正确xml响应?
在一个翻译测试应用程序中(在Python中),我想要一个正则表达式,它将接受以下两个字符串之一:
a = "I want the red book"
b = "the book which I want is red"
Run Code Online (Sandbox Code Playgroud)
到目前为止,我正在使用这样的东西:
^(the book which )*I want (is |the )red (book)*$
Run Code Online (Sandbox Code Playgroud)
这将同时接受字符串a和字符串b。但它也将接受没有一个字符串或者两个可选的子字符串:
sub1 = (the book which )
sub2 = (book)
Run Code Online (Sandbox Code Playgroud)
我如何指示这两个子字符串之一必须存在,即使它们不相邻?
我意识到,在此示例中,仅通过测试用“或”分隔的较长替代项来避免该问题将非常容易|。这是问题的简化示例,使用我正在使用的实际用户输入很难避免。