小编Tim*_*ker的帖子

注册表示youtube链接

在我正在开发的系统中,我需要以下列格式识别youtube链接

[youtube] youtube url [/ youtube]

目前我到达了这个正则表达式:

#\[youtube\]http://www.youtube\.(.*)/watch\?v=([a-zA-Z0-9_-]*)\[\/youtube\]#s
Run Code Online (Sandbox Code Playgroud)

但是这种模式无法识别网址

[youtube] http://www.youtube.com/watch?v=s3wXkv1VW54&feature=fvst[/youtube]

注意feature = fvst.

有人可以帮我识别所有可能的youtube网址吗?

php regex youtube preg-match

7
推荐指数
1
解决办法
3009
查看次数

如何在python中绕过sys.exit()的0-255范围限制?

在python中(在Linux系统上),我正在启动一个使用os.system()和检索返回代码的命令.如果返回代码不同于0,我想使用相同的返回代码退出程序.所以我写道:

ret = os.system(cmd)
if ret != 0:
   print "exit with status %s" % ret
   sys.exit(ret)
Run Code Online (Sandbox Code Playgroud)

当返回代码低于256时,它工作正常,但是当它大于255时,使用的退出代码是0.如何使sys.exit()接受大于255的代码?

编辑:限制实际为255

实际上,ret变量接收256,但sys.exit()未能使用它,因此程序返回0.当我cmd手动启动时,我看到它返回1而不是256.

python linux exit-code

7
推荐指数
2
解决办法
4592
查看次数

从大CSV中删除逗号(1GB)

我有一个大的CSV文件(1GB),我想从中删除逗号.数据都是正整数.我尝试过的方法包括带空格作为分隔符的dlmwrite,但输出则以十进制格式输出.我也尝试使用fprintf命令,但后来我失去了矩阵的形状(即所有数据都出现在一行或一列中).

从而,

是否有一种从CSV(input.txt)读入的简单方法:

1, 2, 3, 4, 5
2, 3, 4, 5, 6
Run Code Online (Sandbox Code Playgroud)

然后以下列形式输出到文本文件(output.txt):

1 2 3 4 5
2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)

python csv matlab comma

7
推荐指数
2
解决办法
5067
查看次数

确定列表编号是否是连续的

我在Java工作.我有一个5个数字的无序列表,范围从0到100,没有重复.我想检测其中3个数字是否连续,没有间隙.

例子:

[9,12,13,11,10] true
[17,1,2,3,5] true
[19,22,23,27,55] false
Run Code Online (Sandbox Code Playgroud)

至于我试过的,还没有.如果我现在写它,我可能会采用最天真的方法来排序数字,然后迭代检查序列是否存在.

java oop

7
推荐指数
1
解决办法
7558
查看次数

在python中添加两个不同长度的列表,从右边开始

我想从右边添加两个不同长度的列表这里是一个例子

[3, 0, 2, 1]
[8, 7]
Run Code Online (Sandbox Code Playgroud)

预期结果:

[3, 0, 10, 8]
Run Code Online (Sandbox Code Playgroud)

这些列表表示多项式的系数

这是我的实施

class Polynomial:
    def __init__(self, coefficients):
        self.coeffs = coefficients

    def coeff(self, i):
        return self.coeffs[-(i+1)]

    def add(self, other):
        p1 = len(self.coeffs)
        p2 = len(other.coeffs)
        diff = abs(p1 - p2)
        if p1 > p2:
            newV = [sum(i) for i in zip(self.coeffs, [0]*diff+other.coeffs)]
        else:
            newV = [sum(i) for i in zip([0]*diff+self.coeffs, other.coeffs)]                  
        return Polynomial(newV)

    def __add__(self, other):
        return self.add(other).coeffs
Run Code Online (Sandbox Code Playgroud)

这一个工作正常,只是想知道无论如何做更好,更清洁的代码?由于python总是在干净的代码上强调,我想知道有没有办法编写更干净的pythonic代码?

python coding-style

7
推荐指数
1
解决办法
5668
查看次数

为什么else/while语句中的else表现不同而不是if/try语句?

我最近偶然发现了Python在不同复合语句中处理else子句的方式似乎不一致.由于Python设计得很好,我确信有一个很好的解释,但我想不到它.

考虑以下:

if condition:
   do_something()
else:
   do_something_else()
Run Code Online (Sandbox Code Playgroud)

这里do_something_else()只有if condition是假的才会执行.

同样地,在

try:
   do_something()
except someException:
   pass:
else:
   do_something_else()
finally:
   cleanup()
Run Code Online (Sandbox Code Playgroud)

do_something_else() 仅在未发生异常时执行.

但是在for或while循环中,总是执行else子句,无论是否for/while block已经执行了内容.

for i in some_iterator:
   print(i)
else:
   print("Iterator is empty!")
Run Code Online (Sandbox Code Playgroud)

将永远打印"Iterator is empty!",无论我是说some_iterator = []还是some_iterator = [1,2,3].while-else子句中的行为相同.在我看来,在这些情况下else表现得更像finally.我在俯瞰什么?

python flow-control

6
推荐指数
2
解决办法
377
查看次数

在python中使用minidom设置DTD

我正在尝试使用minidom在我的XML文档中包含对DTD的引用.

我正在创建文档,如:

doc = Document()
foo = doc.createElement('foo')
doc.appendChild(foo)
doc.toxml()
Run Code Online (Sandbox Code Playgroud)

这给了我:

<?xml version="1.0" ?>
<foo/>
Run Code Online (Sandbox Code Playgroud)

我需要得到类似的东西:

<?xml version="1.0" ?>
<!DOCTYPE something SYSTEM "http://www.path.to.my.dtd.com/my.dtd">
<foo/>
Run Code Online (Sandbox Code Playgroud)

python xml dtd minidom

6
推荐指数
1
解决办法
2207
查看次数

preg_match匹配模式,其中带有星号(*)

preg_match('/te**ed/i', 'tested', $matches);
Run Code Online (Sandbox Code Playgroud)

给我以下错误:

错误:在偏移量3处不重复

我该怎么做才能让模式实际包含*

php regex preg-match

6
推荐指数
1
解决办法
5851
查看次数

lstrip(),rstrip()用于列表

我有一堆带有整数的巨大列表.这些列表可以以几个零开始或结束.

是否有一种简单的方法可以从列表中删除左侧或右侧的零?一些类似于lstrip()rstrip()字符串?

数据看起来像

[0,0,0,1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

要么

[1,2,3,4,0,0,0]
Run Code Online (Sandbox Code Playgroud)

我必须能够单独lstrip()rstrip().我不需要列表两边的条带.

python list

6
推荐指数
1
解决办法
4364
查看次数

python:如何按字母顺序对大写字母进行排序

我试图按字母顺序对列表进行排序,大写字母应该在小写字母之前.

l = ['a', 'b', 'B', 'A']
Run Code Online (Sandbox Code Playgroud)

sorted(l) 应该导致 ['A','a','B','b']

我试过这两种形式,但无济于事;

>>> sorted(l, key=lambda s: s.lower())
['a', 'A', 'b', 'B']
>>> sorted(l, key=str.lower)
['a', 'A', 'b', 'B']
Run Code Online (Sandbox Code Playgroud)

python sorting list

6
推荐指数
2
解决办法
2701
查看次数

标签 统计

python ×7

list ×2

php ×2

preg-match ×2

regex ×2

coding-style ×1

comma ×1

csv ×1

dtd ×1

exit-code ×1

flow-control ×1

java ×1

linux ×1

matlab ×1

minidom ×1

oop ×1

sorting ×1

xml ×1

youtube ×1