我想在python中删除字符串中的字符:
string.replace(',', '').replace("!", '').replace(":", '').replace(";", '')...
Run Code Online (Sandbox Code Playgroud)
但是我必须删除许多字符.我想到了一个清单
list = [',', '!', '.', ';'...]
Run Code Online (Sandbox Code Playgroud)
但是我如何使用list替换中的字符string?
鉴于:
import argparse
pa = argparse.ArgumentParser()
pa.add_argument('--foo')
pa.add_argument('--bar')
print pa.parse_args('--foo 1'.split())
Run Code Online (Sandbox Code Playgroud)
我如何能
--foo x,--bar y并且--foo x --bar y是精--foo x或者--bar y很好,--foo x --bar y不是给定一个Exception对象(来源不明)有没有办法获得它的追溯?我有这样的代码:
def stuff():
try:
.....
return useful
except Exception as e:
return e
result = stuff()
if isinstance(result, Exception):
result.traceback <-- How?
Run Code Online (Sandbox Code Playgroud)
有了它,如何从Exception对象中提取回溯?
当我们对列表进行排序时,比如
a = [1,2,3,3,2,2,1]
sorted(a) => [1, 1, 2, 2, 2, 3, 3]
Run Code Online (Sandbox Code Playgroud)
等值元素在结果列表中始终相邻.
我怎样才能完成相反的任务 - 对列表进行洗牌,使相邻的元素永远(或尽可能不相邻)相邻?
例如,对于上面的列表,可能的解决方案之一是
p = [1,3,2,3,2,1,2]
Run Code Online (Sandbox Code Playgroud)
更正式地说,给定一个列表a,生成一个p最小化对的数量的排列p[i]==p[i+1].
由于列表很大,因此不能生成和过滤所有排列.
奖金问题:如何有效地生成所有这些排列?
这是我用来测试解决方案的代码:https://gist.github.com/gebrkn/9f550094b3d24a35aebd
UPD:在这里选择获胜者是一个艰难的选择,因为许多人发布了很好的答案.@VincentvanderWeele,@大卫Eisenstat,@Coady,@ enrico.bacis和@srgerg提供函数完美产生的最佳可能的排列.@tobias_k和大卫也回答了红利问题(生成所有排列).大卫的其他要点是正确性证明.
来自@VincentvanderWeele的代码似乎是最快的.
我正在寻找一种方法来将整数ID加密/混淆为另一个整数.更准确地说,我需要一个功能int F(int x),所以
x ^ 0x1234不起作用为清楚起见,我不是在寻找强大的加密解决方案,它只是混淆.想象一下,像URL的Web应用程序example.com/profile/1,example.com/profile/2等型材本身并不是秘密,但我想,以防止随意偷窥查看/读取所有配置了一个又一个,所以我宁愿躲在他们身后像example.com/profile/23423,example.com/profile/80980234等等.虽然数据库存储的令牌可以很容易地完成工作,我很好奇是否有一些简单的数学可用于此.
我不清楚的一个重要要求是结果看起来应该是"随机的",也就是说,给定一个序列x,x+1,...,x+n,F(x),F(x+1)...F(x+n)不应该形成任何类型的进展.
我正在尝试file_get_contents与stream_context_createPOST 一起使用.我的代码到目前为止:
$options = array('http' => array(
'method' => 'POST',
'content' => $data,
'header' =>
"Content-Type: text/plain\r\n" .
"Content-Length: " . strlen($data) . "\r\n"
));
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
Run Code Online (Sandbox Code Playgroud)
它工作正常,但是,当发生HTTP错误时,它会发出警告:
file_get_contents(...): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request
Run Code Online (Sandbox Code Playgroud)
并返回false.有办法:
如何在N个可变长度的JavaScript数组中生成所有值的组合?
假设我有N个JavaScript数组,例如
var first = ['a', 'b', 'c', 'd'];
var second = ['e'];
var third = ['f', 'g', 'h', 'i', 'j'];
Run Code Online (Sandbox Code Playgroud)
(在这个例子中有三个数组,但它有N个数组用于解决问题.)
我想输出它们的所有值的组合,以产生
aef
aeg
aeh
aei
aej
bef
beg
....
dej
Run Code Online (Sandbox Code Playgroud)
编辑:这是我工作的版本,使用ffriend接受的答案作为基础.
var allArrays = [['a', 'b'], ['c', 'z'], ['d', 'e', 'f']];
function allPossibleCases(arr) {
if (arr.length === 0) {
return [];
}
else if (arr.length ===1){
return arr[0];
}
else {
var result = [];
var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array
for (var …Run Code Online (Sandbox Code Playgroud) 在Python中,Haskell的zipWith函数的类比是什么?
zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
Run Code Online (Sandbox Code Playgroud) 我有一个像阵列;
["IL0 Foo", "PI0 Bar", "IL10 Baz", "IL3 Bob says hello"]
Run Code Online (Sandbox Code Playgroud)
并且需要对它进行排序以使它看起来像;
["IL0 Foo", "IL3 Bob says hello", "IL10 Baz", "PI0 Bar"]
Run Code Online (Sandbox Code Playgroud)
我尝试过一种排序功能;
function compare(a,b) {
if (a < b)
return -1;
if (a > b)
return 1;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是这给了订单
["IL0 Foo", "IL10 Baz", "IL3 Bob says hello", "PI0 Bar"]
Run Code Online (Sandbox Code Playgroud)
我试图想到一个可行的正则表达式,但无法理解它.
如果它有助于格式将始终是2个字母,x数量的数字,然后任意数量的字符.
我有一个生成器和一个消耗它的函数:
def read():
while something():
yield something_else()
def process():
for item in read():
do stuff
Run Code Online (Sandbox Code Playgroud)
如果生成器抛出异常,我想在使用者函数中处理它,然后继续使用迭代器直到它耗尽.请注意,我不希望在生成器中有任何异常处理代码.
我想到了类似的东西:
reader = read()
while True:
try:
item = next(reader)
except StopIteration:
break
except Exception as e:
log error
continue
do_stuff(item)
Run Code Online (Sandbox Code Playgroud)
但这对我来说相当尴尬.