s = 'x x m l s xl xl xxl xl m x s l l m m'
custom_order = {
's': 1,
'm': 2,
'l': 3,
'x': 4,
'xl': 5,
'xxl': 6,
}
result = ' '.join(sorted(s.split(' '), key=lambda x: custom_order[x]))
或者按照@kaya的建议,您可以进一步简化代码:
result = ' '.join(sorted(s.split(' '), key=custom_order.get))
str_list = []
str= "x x m l s xl xl xxl xl m x s l l m m"
for i in str:
if i !=' ':
str_list.append(i)
print(str_list)
['x', 'x', 'm', 'l', 's', 'x', 'l', 'x', 'l', 'x', 'x', 'l', 'x', 'l', 'm', 'x', 's', 'l', 'l', 'm', 'm']
3条答案
按热度按时间7gcisfzg1#
你可以定义你自己的
custom_order
用于分类。或者按照@kaya的建议,您可以进一步简化代码:
2vuwiymt2#
这里有一个潜在的解决方案:
x7rlezfr3#
1-必须将str值添加到列表中:
2-对列表的值进行排序: