总而言之:我需要编写一个列表理解,其中我引用列表理解正在创建的列表.
这可能不是你每天都需要做的事情,但我认为这也不常见.
也许这里没有答案 - 但是,请不要告诉我,我应该使用for循环.这可能是正确的,但没有用.原因是问题域:这行代码是ETL模块的一部分,因此性能是相关的,因此需要避免创建临时容器 - 因此我希望在L/C中编写此步骤.如果for循环在这里对我有用,我只想编码一个.
无论如何,我无法写出这个特定的列表理解.原因:我需要写的表达式有这样的形式:
[ some_function(s) for s in raw_data if s not in this_list ]
Run Code Online (Sandbox Code Playgroud)
在该伪代码中,"this_list"指的是通过评估该列表理解而创建的列表.这就是为什么我被卡住了 - 因为this_list在我的列表理解被评估之前没有构建,并且因为这个列表还没有在我需要引用它的时候构建,所以我不知道如何引用它.
我到目前为止所考虑的(可能是基于一个或多个错误假设,但我不确切知道在哪里):
是不是python解释器必须给这个列表在建设中一个名字?我认同
临时名称可能来自用于构建我的列表的一些绑定方法('sum'?)
但即使我找到了绑定方法的麻烦,并假设它确实是python解释器在构建时引用列表时使用的临时名称,我很确定你不能引用绑定方法直; 我不知道这样一个明确的规则,但那些方法(至少我实际看过的几个)都不是有效的python语法.我猜是为什么我们不将它们写入代码中的原因之一.
所以这就是我所谓推理的链条,这让我得出结论,或者至少猜测,我把自己编成了一个角落.我仍然认为我应该先与社区核实这一点,然后再转向另一个方向.
if (window.DOMParser) {
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else { // Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);
}
/*copy ends*/
temp = xmlDoc.getElementsByTagName('COMMENT');
s0 = xmlDoc.getElementsByTagName('TITLE')[i].nodeValue;
s1 = xmlDoc.getElementsByTagName('CMT')[i].nodeValue;
Run Code Online (Sandbox Code Playgroud)
s0和s1返回null,我不明白为什么?
我在我的开源项目中使用jQuery 1.5,以下行也出现在我自己的Javascript代码中:
/**
* Object.isEmpty()
*
* @returns {Boolean}
*/
Object.prototype.isEmpty = function ()
{
/**
* @deprecated Since Javascript 1.8.5
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object
*/
if ( this.__count__ !== undefined )
{
return this.__count__ === 0 ? true : false;
}
/* Less-aesthetic method, if above method fails */
for ( var property in this )
{
if ( this.hasOwnProperty(property) )
{
return false;
}
}
return true;
};
Run Code Online (Sandbox Code Playgroud)
它只是扩展了Object.prototype,为它添加了isEmpty()方法[检查对象是否为空).由于这个添加,我的Firebug控制台中出现"c.replace is not function"错误; 我在网上的研究引导我去jQuery bug跟踪器消息,在那里我"学会"扩展Object.prototype不仅打破了jQuery,而且还是糟糕的编码实践.我的问题是,为什么?
我有一个模型、视图和模板:
模型
class Peoples(models.Model):
l_name = models.CharField(max_length=50)
f_name = models.CharField(max_length=50)
m_name = models.CharField(max_length=50)
tab_number = models.CharField(max_length=5)
birthday = models.DateField(null=True, blank=True)
post = models.CharField(max_length=250, blank=True)
workplace = models.ForeignKey(Workplace, null=True, blank=True)
skill = models.CharField(max_length=20, blank=True)
dopuska = models.TextField(blank=True)
srok_dopuskov = models.DateField(null=True, blank=True)
photo = models.ImageField(upload_to='img',blank=True)
class Meta:
ordering = ('l_name',)
def __unicode__(self):
return self.l_name
def age(self):
import datetime
return int((datetime.datetime.now() - self.birthday).days / 365.25 )
age = property(age)
Run Code Online (Sandbox Code Playgroud)
看法
def view_persone(request, tab_number):
return direct_to_template(request, 'person.html', {
'persone': Peoples.objects.filter(tab_number=tab_number),
})
Run Code Online (Sandbox Code Playgroud)
模板
{% for …Run Code Online (Sandbox Code Playgroud) 我需要从字节数组到字符串的非常快速的转换.字节数组是Unicode字符串.

我一直在尝试添加Facebook登录到我的页面.我使用以下脚本在我的页面上放置了facebook登录按钮:
<script src="http://connect.facebook.net/en_US/all.js">
</script>
<script>
FB.init({
appId:'<?php echo APP_ID;?>', cookie:true,
status:true, xfbml:true
});
</script>
<fb:login-button perms="email,user_checkins">
Login with Facebook
</fb:login-button>
Run Code Online (Sandbox Code Playgroud)
它也显示登录按钮.点击它打开facebook的登录界面.
成功登录后,弹出框即关闭而不刷新父页面.
我错过了什么?
有没有办法使用指针跨越整数数组中的所有元素(类似于使用指针跨越字符串元素).我知道整数数组不是NULL终止所以当我尝试使用指针溢出数组时溢出.所以我添加NULL作为数组的最后一个元素,它工作得很好.
int array[7]={1,12,41,45,58,68,NULL};
int *i;
for(i=array;*i;i++)
printf("%d ",*i);
Run Code Online (Sandbox Code Playgroud)
但是,如果数组中的一个元素为0,那将表现为NULL.是否有任何其他方法可以实现指针跨越整数数组中的所有元素?
可能是一个非常简单的问题,但我无法理解它.
我想创建一些向导:一个NSWindow来自另一个的表单,NSWindow并且应该NSView一个接一个地显示三个不同的s.
我想我应该创建一个自定义NSWindowController和三个NSViewController但我不知道如何设置控制器以及如何交换视图.
cocoa objective-c nswindow nsviewcontroller nswindowcontroller
根据救你的头脑,活跃的记录会让你发疯,我们应该避免使用save!和rescue习惯用于特殊情况.鉴于此,说模型需要@post.mark_rejected.
如果代码mark_rejected因下列问题之一而失败,是否应抛出异常?:
如果我们不抛出异常,那么:
mark_rejected并做它的事情rescue控制器动作中写一个子句,因此异常冒泡到(.. wherever ..)并且可能会显示为某些(500 HTTP?)错误示例代码:
def mark_rejected
...
save!
end
Run Code Online (Sandbox Code Playgroud)
要么
def mark_rejected
...
save
end
Run Code Online (Sandbox Code Playgroud)