排序列表,但将星号从第一个更改为最后一个

流体力学势流

在对列表进行排序时,我认为 Python 认为'*'是“之前”(是否有一个词表示 Python 用于排序的顺序是什么?)字母和数字,我希望它是另一种方式。我想在他们'A*0'之后'A0', 'AB', 'A1', ...而不是在他们之前。如何实现这一目标?

这是一个最小的可重现示例:

list = ["A*0", "A0", "A1", "A*1", "AB", "*BC", "C"]
sorted(list)
Out[7]: ['*BC', 'A*0', 'A*1', 'A0', 'A1', 'AB', 'C']

我想要这种行为:

list = ["A*0", "A0", "A1", "A*1", "AB", "*BC", "C"]
sorted(list)
Out[7]: ['A0', 'A1', 'AB', 'A*0', 'A*1', "C", "*BC"]
不是机器人

传递一个排序键,替换*~

lst = ["A*0", "A0", "A1", "A*1", "AB"]
# replace * by ~ when sorting (since ~ has the highest ascii value)
sorted(lst, key=lambda x: x.replace('*','~'))
# ['A0', 'A1', 'AB', 'A*0', 'A*1']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将图像通道顺序从第一个通道更改为最后一个通道

将所选班级更改为第一个日期而不是最后一个日期

sas按组将最后一个值更改为第一个值

Python:将第一个元素更改为列表本身

将字符串的第一个单词更改为第一个字母

numpy:在排序列表中,找到每个唯一值的第一个和最后一个索引

正则表达式:将行的顺序从最后一个更改为第一个(多个文件)

如何按第一个值排序列表列表

查找升序列表中降序的第一个和最后一个数字

按第一个列表对列表进行排序

select2-如何使用jQuery将值更改为列表的第一个选项?

如何从排序列表中获取第一个元素?

从排序列表中获取大于给定数字的第一个元素

Python函数在排序列表中查找第一个非负数?

Python按字符串中的第一个数字排序列表

按姓氏排序列表,然后第一个

如何基于第一个值Python替换元组排序列表中的元组

将第一个迭代输入的值更改为下一个迭代输入值

序列的第一个和最后一个索引

使用RLE消除第一个和最后一个序列

添加序列的第一个和最后一个日期

抓住每个序列的第一个和最后一个元素

将]之后的第一个字母更改为大写

Bash:将String变量更改为以开头的第一个单词

如何将第一个字符更改为数字?

如何将活动选项卡更改为第一个CSS

Android将第一个空白更改为“ AA”

更改PHP行的第一个和最后一个值

悬停时更改div中的img(最后一个/第一个孩子)