小编use*_*068的帖子

Python - 删除重叠列表

假设我有一个包含索引的列表列表[[start, end], [start1, end1], [start2, end2]].

例如:

[[0, 133], [78, 100], [25, 30]].

如何检查列表之间的重叠并删除每次更长的列表?所以:

>>> list = [[0, 133], [78, 100], [25, 30]]
>>> foo(list)
[[78, 100], [25, 30]]
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止尝试做的事情:

def cleanup_list(list):
    i = 0
    c = 0
    x = list[:]
    end = len(x)
    while i < end-1:
        for n in range(x[i][0], x[i][1]):
            if n in range(x[i+1][0], x[i+1][1]):
                list.remove(max(x[i], x[i+1]))
        i +=1
    return list
Run Code Online (Sandbox Code Playgroud)

但除了令人费解之外它还没有正常工作:

 >>>cleanup_list([[0,100],[9,10],[12,90]])
 [[0, 100], [12, 90]]
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

编辑:

其他例子是:

>>>a = [[0, 100], …
Run Code Online (Sandbox Code Playgroud)

python algorithm list

13
推荐指数
1
解决办法
2369
查看次数

使用mv命令 - 文件已删除?

这可能是一个非常愚蠢的问题,但是可以使用"mv"命令删除文件吗?我问,因为当我试图将文件移动到其父目录时,我不小心输入了一个"." 太多,现在我找不到我的文件.

所以代替:

$ mv myfile.txt ..

我放了:

$ mv myfile.txt ...

现在我的文件消失了.我是否意外删除了它,是否有可能将其取回?

谢谢!

unix mv

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

Python - 解析一个字符串,字母和数字不会被阻塞在一起

我在解析包含字母和数字的字符串并获取列表时遇到问题.例如:

>>> s = '105Bii2016'
>>> foo(s)
['105', 'Bii', '2016']
Run Code Online (Sandbox Code Playgroud)

现在我只能在数字合在一起时才这样做:

def foo(s):
    num, letter = '', ''
    for i in s:
        if i.isdigit():
            num += i
        else:
            letter += i
    return [letter, num]
Run Code Online (Sandbox Code Playgroud)

当我这样称呼时:

>>> s = '1234gdfh1234'

>>> foo(s)

['gdfh', '12341234']
Run Code Online (Sandbox Code Playgroud)

python parsing

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

标签 统计

python ×2

algorithm ×1

list ×1

mv ×1

parsing ×1

unix ×1