我正在为我正在学习的课程解答一个额外问题。假设我们有一个列表,例如mylist=[a1, b2, a3, c1, b1, a5, b3, c9]
。我想使用基本的Python而不导入任何东西。我想首先按字母顺序对列表进行排序,然后对于每个字母,我按数字排序。因此,结果将是列表 [a1, a3, a5, b1, b2, b3, c1, c9]。我正在对数字实现简单的冒泡排序,但是如何对字母进行子排序(或者反之亦然?)
Use sorted
or list.sort
有两把钥匙:
my_list = ["a1", "b2", "a3", "c1", "b1", "a5", "b3", "c9"]
sorted(my_list, key=lambda x:(x[0], int(x[1:])))
# ['a1', 'a3', 'a5', 'b1', 'b2', 'b3', 'c1', 'c9']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)