小编Moc*_*ing的帖子

从字符串中删除非数字字符(句点和逗号除外)

如果我有以下值:

 $var1 = AR3,373.31

 $var2 = 12.322,11T
Run Code Online (Sandbox Code Playgroud)

如何创建新变量并将其设置为删除了任何非数字字符的数据副本,但逗号和句点除外?上面的值将返回以下结果:

 $var1_copy = 3,373.31

 $var2_copy = 12.322,11
Run Code Online (Sandbox Code Playgroud)

php string

143
推荐指数
4
解决办法
18万
查看次数

使用Prolog将单个列表拆分为三个

我正在尝试创建一个函数,将可变长度列表按顺序拆分为三个偶数长度列表.以下将其拆分为三个,但进程一次一个地将它们插入到每个列表中.

我想要的一个例子是:

[1, 2, 3, 4, 5] -> [1, 2], [3, 4], [5]
Run Code Online (Sandbox Code Playgroud)

另一个例子是:

[8, 7, 6, 5, 4, 3, 2, 1] -> [8, 7, 6], [5, 4, 3], [2, 1].
Run Code Online (Sandbox Code Playgroud)

以下代码通过一次插入一个列表来拆分它们:

div([], [], [], []).
div([X], [X], [], []).
div([X,Y], [X], [Y], []).
div([X,Y,Z|End], [X|XEnd], [Y|YEnd], [Z|ZEnd]):-
  div(End, XEnd, YEnd, ZEnd).
Run Code Online (Sandbox Code Playgroud)

此代码输出:

[1, 2, 3, 4, 5] -> [1, 4], [2, 5], [3]
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

prolog failure-slice

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

Oracle SQL存储过程重复错误和多行

我试图为ORACLE SQL创建一个存储过程,但它不断抛出错误:

Error(1,1): PLS-00410: duplicate fields in RECORD,TABLE or argument list are not permitted
Run Code Online (Sandbox Code Playgroud)

我没有看到任何重复的字段,所以我想知道为什么会发生这种情况(程序如下).另外存储过程似乎只允许查询返回一行,有没有办法让它返回多行?

我看到很多关于返回多行的问题,但没有一行太清楚.我还需要多个存储过程,所以我想知道是否有任何变量和诸如此类的冲突.

CREATE OR REPLACE PROCEDURE ARTIST_CHECK(
  p5_checkartist IN VARCHAR2,
  p5_artist OUT TESTTABLE.artist%TYPE,
  p5_thisweekpos OUT TESTTABLE.thisweekpos%TYPE,
  p5_lastweekpos OUT TESTTABLE.lastweekpos%TYPE,
  p5_title OUT TESTTABLE.title%TYPE,
  p5_artist OUT TESTTABLE.artist%TYPE,
  p5_entrydate OUT TESTTABLE.entrydate%TYPE,
  p5_entrypos OUT TESTTABLE.entrypos%TYPE,
  p5_peakpos OUT TESTTABLE.peakpos%TYPE,
  p5_totalweek OUT TESTTABLE.totalweek%TYPE,
  p5_thisweekdate OUT TESTTABLE.thisweekdate%TYPE)
  IS
BEGIN
  select t.THISWEEKPOS ,t.LASTWEEKPOS ,t.TITLE ,t.ARTIST ,t.ENTRYDATE ,t.ENTRYPOS ,t.PEAKPOS ,t.TOTALWEEK ,t.THISWEEKDATE
  into p5_thisweekpos, p5_lastweekpos, p5_title, p5_artist, p5_entrydate, p5_entrypos, p5_peakpos, p5_totalweek, p5_thisweekdate
  from(select artist as match, …
Run Code Online (Sandbox Code Playgroud)

sql oracle duplicates oracle-sqldeveloper

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

未完成任务的Python队列计数

我实现的Python QueueThread.我需要一种方法来获取当前队列中的项目总数(我可以获得queue.qsize())和未完成任务的数量.基本上我需要计算正在处理/需要处理的所有项目.所述的Python Queue文档提到以下内容:

每当项目添加到队列时,未完成任务的计数就会增加.每当消费者线程调用task_done()以指示该项目已被检索并且其上的所有工作都已完成时,计数就会下降.当未完成任务的数量降至零时,join()取消阻止.

但它没有提供关于如何访问该计数的见解.提前致谢!

python queue multithreading

4
推荐指数
1
解决办法
1448
查看次数

Python不适合

我有一个test声明:

test = {'test1': 1, 'test2': 2, 'test3': 3}
Run Code Online (Sandbox Code Playgroud)

我想复制一份test过滤掉可能存在或不存在的特定密钥的副本。

我尝试了以下方法:

test_copy = {k: test[k] for k not in ('test3', 'test4')}
Run Code Online (Sandbox Code Playgroud)

但是Python似乎不喜欢 for not in循环。有什么办法可以很好地做到这一点吗?

我不认为此问题与if语句List理解的重复, 因为我专门为字典搜索了几分钟以上。

python for-loop

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