我正在尝试对文件列表进行排序,以便下划线字符被认为比其他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
我搜索了类似的排序示例,找不到具有相同问题的具体内容。
由于
答案 0 :(得分:0)
这并不难做......下次请先尝试一下自己。最简单的方法是将"_"
替换为关键函数中字母(例如"}"
)后面的“后验”字符:
sorted(files, key=lambda d: d["name"].lower().replace("_", "}"))