我对 python 还很陌生,正在对字符串数组进行排序。但我注意到我的用例存在问题。
采用如下所示的数组:
[“C”、“CSS”、“CSA”、“C-SHARP”]
当我通过sorted()
传递它时,它变成:
[“C-SHARP”、“C”、“CSA”、“CSS”]
有没有办法可以忽略一些字符,对于我的情况是 '-'
字符,这样结果就变成:
[“C”、“CSA”、“C-SHARP”、“CSS”]
最佳答案
使用删除非字母数字字符的 lambda 进行排序:
inp = ["C", "CSS", "CSA", "C-SHARP"]
out = sorted(inp, key=lambda x: re.sub(r'[^A-Za-z0-9]+', '', x))
print(out)
打印:
['C', 'CSA', 'C-SHARP', 'CSS']
关于python - 如何使排序函数忽略某些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61810643/