相关疑难解决方法(0)

为什么删除文件以便更快删除它们很重要?

前段时间我学会了rsync删除文件比许多其他工具快得多.

几天前,我在Serverfault上遇到了这个精彩的答案,这解释了为什么rsync删除文件非常好.

从那个答案的报价:

我今天重访了这个,因为大多数文件系统以btree格式存储它们的目录结构,删除文件的顺序也很重要.当您执行取消链接时,需要避免重新平衡btree.因此我在删除之前添加了一个排序.

你能解释一下如何按顺序删除文件来阻止或减少btree重新计算的数量?


我期望答案显示如何删除以增加删除速度,详细说明btree级别发生的事情.写作的rsync人和另一个程序(参见问题中的链接)使用这些知识来创建更好的程序.我认为让其他程序员有这种理解能够写出更好的软件是很重要的.

filesystems algorithm b-tree delete-file

28
推荐指数
2
解决办法
2112
查看次数

Python:找到min元素的最后一个索引?

例如[1,2,3,4,1,2]

具有最小元素1,但它最后一次出现在索引4处.

python list min

8
推荐指数
2
解决办法
1562
查看次数

在OrderedDict中查找具有最小值的键

我需要找到其值在有序字典中最低的键,但只有当my_list中的位置为True时才需要.

from collections import OrderedDict

my_list = [True,False,False,True,True,False,False,False,]

my_lookup = OrderedDict([('a', 2), ('b', 9), ('c', 4), ('d', 7),  
                         ('e', 3), ('f', 0), ('g', -5), ('h', 9)])
Run Code Online (Sandbox Code Playgroud)

我知道怎么用for循环这样做

mins=[]
i=0
for item in my_lookup.items():
    if my_list[i]:
        mins.append(item)
    i+=1
print min(mins,key=lambda x:x[1])[0]
Run Code Online (Sandbox Code Playgroud)

版画

a
Run Code Online (Sandbox Code Playgroud)

因为a在my_list中最低也是True.

这有效,但很长,我想知道如何用理解或一行做到这一点?

python dictionary

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

标签 统计

python ×2

algorithm ×1

b-tree ×1

delete-file ×1

dictionary ×1

filesystems ×1

list ×1

min ×1