使用下划线排序

时间:2013-09-18 14:22:16

标签: sorting python-3.x

我正在尝试对文件列表进行排序,以便下划线字符被认为比其他ascii字符“更晚”,如下例所示(这是将外部软件移植到python3)。我希望排序能够像原来一样考虑文件路径,因为它不会产生原始排序的差异。

要求:尽可能避免使用第三方排序模块

files = sorted(files,key = lambda d:d ['name']。lower())

我试图避免的重新排序示例

-/usr/wte/wte_scripts/wfaping.sh
 /usr/wte/wte_scripts/wfa_test_cli.sh
+/usr/wte/wte_scripts/wfaping.sh

我搜索了类似的排序示例,找不到具有相同问题的具体内容。

由于

1 个答案:

答案 0 :(得分:0)

这并不难做......下次请先尝试一下自己。最简单的方法是将"_"替换为关键函数中字母(例如"}")后面的“后验”字符:

sorted(files, key=lambda d: d["name"].lower().replace("_", "}"))