作为练习,我一直在尝试各种方法来生成Python中列表的所有排列 - 递归,非递归...... - 并将性能与之比较itertools.permutations().但是我遇到了递归方法的生成器版本的问题,它没有完全干净地完成StopIteration异常,而是抛出一个IndexError:
def spawnperms(alist):
"""same algorithm as recursive option, but a generator"""
if (alist == []):
yield []
for perm in spawnperms(alist[:-1]):
for i in range(len(perm)+1):
yield perm[:i] + [alist[-1]] + perm[i:]
Run Code Online (Sandbox Code Playgroud)
从Python解释器调用它:
>>> for i in spawnperms(range(3)):
... print i
...
[2, 1, 0]
[1, 2, 0]
[1, 0, 2]
[2, 0, 1]
[0, 2, 1]
[0, 1, 2]
Traceback (most recent call last):
File "<stdin>", line 1, in <module> …Run Code Online (Sandbox Code Playgroud) 因此,作为我的工作流程的一部分,我需要调用外部WCF服务来检索一些对象.问题是我无法看到如何模拟将由send活动调用的WCF服务.有谁知道我怎么做到这一点?
谢谢,约翰
我想删除iframe中的水平滚动条.我只需要一个垂直滚动条来查看冗长的内容.我的代码是
<iframe height='514' width='790'
marginwidth='0' marginheight='0'
frameborder='0'
overflow-y='scroll'
overflow-x='hidden'>
</iframe>
Run Code Online (Sandbox Code Playgroud)
任何人请解决我的问题.提前祝福.
我决定第一次试用LINQ尝试解决这个问题.
我第一次涉足LINQ精彩世界的结果如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
List<string> list = new List<string>()
{
"fred-064528-NEEDED1",
"xxxx",
"frederic-84728957-NEEDED2",
"sam-028-NEEDED3",
"-----",
"another-test"
};
var result =
from s in list
where (from c in s where c == '-' select c).Count() == 2
select s.Substring(s.LastIndexOf("-") + 1);
foreach (string s in result)
Console.WriteLine(s);
Console.WriteLine("Press Enter");
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何改进上述解决这个人为设计的小例子的方法.我对是否使用了最好的验证方法,或者我如何本地化"按Enter"或类似的东西不太感兴趣; 我只是想使用这个例子来学习更多关于LINQ的知识.
我最近开始整理Facebook Connect AS3应用程序,并通过Graph API检索对象和图像.
在本地运行的任何地方,我收到以下形式的安全错误:
SecurityError:错误#2122:安全沙箱违规:Loader.content:xxxx无法访问http://photos-a.ak.fbcdn.net/xxxx.jpg
策略文件是必需的,但加载此媒体时未设置checkPolicyFile标志.
如果我添加一行表单:
Security.loadPolicyFile("ht_tp://photos-a.ak.fbcdn.net/crossdomain.xml");
- 然后我对该服务器很好,但似乎有任意数量的域有照片 - [letter]格式.我已经在字母表中添加了一个 - 它很高兴地成功地检索了跨域文件 - 但它似乎不是一个很好的解决方案,并且不适应Facebook 将来可能实现的任何新托管设置.
我考虑过的一件事是在每个图像的基础上检索跨域策略文件,在发出图像请求之前从图像URL捕获域.不幸的是,至少通过Graph解决方案(而且我没有仔细查看其他解决方案),他们的服务器在发出请求后解析图像URL,来自更通用的内容:
ht_tps://graph.facebook.com/ [OBJECTID] /照片?类型=&小的access_token = [的accessToken]
有没有人找到更可靠的方法来确保在没有安全沙箱违规的情况下检索图像?或者Facebook是否保留了开发人员需要关注的明确列表?
谢谢!
可能重复:
或者无效C++:为什么这段代码会编译?
你好.
我最近遇到了别人写的不寻常的C++代码:
bool operator != (Point p1, Point p2)
{
return p1.X != p2.X or p1.Y != p2.Y or p1.Z != p2.Z;
};
Run Code Online (Sandbox Code Playgroud)
据我所知or,即使是宏,也没有在任何地方声明.and代码中也很少有.因此,项目不构建在VC2008 Express上.给我代码的人说作者一直在使用mingw编译器.
问题:这是一个非标准的编译器功能(我怀疑它),这是新的C++标准的一部分(我没有看过C++ 0x),或者这是程序员的问题(如果这个人搬家了)来自pascal,他可能一直在使用和/或代替&&/ ||因为习惯,或者因为他认为它更"可读".
我需要一些东西作为占位符.我起初将内容控制视为一种解决方案,但我遇到了一些问题.
然后我考虑将.docx中的CustomXML添加到其中,但由于i4i的诉讼而拒绝了.
然后我决定通过OpenXML SDK 2.0简单地改变内容控制的文本,但即使它如此标记,内容控制也不会消失.我想它不知道文本发生了变化,除非它发生在单词内部.
我或许可以删除CC并放置文本,但我担心它可能带来的格式和样式问题,而且它会违反内容控制的目的.
然后我开始想知道我是否可以定义Word可以识别的自己的占位符.也许通过积木.它不需要做任何事情,除了易于使用OpenXML找到并以某种方式可标记,所以我知道用什么来替换它.我不确定可以用Building Blocks做什么,但我希望它能够做到.
不确定哪种解决方案最适合我,但我需要的是:
a)一些容易放在模板中的东西,也许是预定义的内容控件占位符,你可以放置在你想要的地方并按照你喜欢的样式.
b)添加数据后,删除所有占位符,不再修改.它保持在占位符中定义的样式/格式.
要收回,我需要回答
如何在OpenXML SDK中编辑内容控件,以便在添加文本后删除它们.
-要么-
我可以为Word文档定义自己的自定义OpenXML标记,然后我可以替换它吗?
在matcher.replace方法中,只有:
replaceFirst()和replaceAll()两种方法
我想限制更换3次,怎么办?
例:
String content="aaaaaaaaaa";
Run Code Online (Sandbox Code Playgroud)
我想得到的结果是: "bbbaaaaaaa"
我的代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class T1 {
public static void main(String[] args) {
String content="aaaaaaaaaa";
Pattern pattern = Pattern.compile("a");
Matcher m=pattern.matcher(content);
if(m.find()){
String result=m.replaceFirst("b");
System.out.println(result);
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
我有这样的模型(简化)
public class Post
{
public string ID { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public string AuthorName { get; set; }
public List<string> Attachments { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我的数据库中,我有一个Post表和一个PostAttachment表
帖子附件表有2列:
PostID AttachmentKey
(基本原理是附件上传到amazon s3,所以AttachmentKey是s3键)
我想要做的是将AttachmentKey映射到返回/插入的Post对象的List ...
我该怎么做呢?
我正在使用带有trac的git.推后我想做两件事:
第一件事是通过git-commit-notifier解决的.在我创建post-receive hook之后它完美地工作:
#!/bin/sh /var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
我的第二个要求可以在http://trac-hacks.org/wiki/GitPlugin#post-receivehookscripts中解释.它也适用于这种后接收挂钩:
#!/bin/sh /var/trac/testgit/commit-updater
当它们分开时,这两件事都有效.但我需要将它们结合起来.所以我创建了post-receive钩子:
#!/bin/sh /var/trac/testgit/commit-updater /var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
这很有趣,但这不起作用.单独运行时,命令运行得非常好,但只有第一个在放入后接收挂钩时才能运行.
如果我有这样的钩子:
#!/bin/sh /var/trac/testgit/commit-updater /var/lib/gems/1.8/bin/git-commit-notifier /etc/git-commit-notifier.yml
我收到以下错误
/var/lib/gems/1.8/gems/git-commit-notifier-0.8.0/bin/git-commit-notifier:12: undefined method `strip' for nil:NilClass (NoMethodError)
from /var/lib/gems/1.8/bin/git-commit-notifier:19:in `load'
from /var/lib/gems/1.8/bin/git-commit-notifier:19
但是,如果我改变这两个命令的顺序,我没有收到任何错误,但只有第一个命令工作.
我将不胜感激任何帮助.我试图解决这个问题很长一段时间,我没有想法.