当前位置:  开发笔记 > 编程语言 > 正文

Python:如何使用整数和字母对数组进行排序?

如何解决《Python:如何使用整数和字母对数组进行排序?》经验,为你挑选了1个好方法。

当我有一个list整数和字母时,我想按一些顺序对这些元素进行排序.例如,

ex_array = [1, 3, 2', 2, 1', 3', 3]

应该排序到

sorted(ex_array) = [1', 1, 2', 2, 3', 3, 3]

在这种情况下,字母的顺序由下式给出

1' < 1 < 2' < 2 < 3' < 3.

我只能在整数组成时创建代码.但我不知道如何将这些符号与未涂底漆的符号进行比较.

你能告诉我在Python中做些什么吗?



1> TigerhawkT3..:

按每个元素的整数值排序,以及该元素是否为整数:

>>> a = [1, 3, '2', 2, '1', '3', 3, '10', 10, 'potato', "1'", lambda: None, '-3', -3, -4]
>>> sorted(a, key=lambda x: (int(''.join(v for i,v in enumerate(str(x)) if v.isdigit() or (i==0 and v=='-')) or 0), isinstance(x, int)))
[-4, '-3', -3, 'potato', '1', "1'", 1, '2', 2, '3', 3, 3, '10', 10,  at 0x000000DAD51DB9D8>]

如果两个元素具有相同的整数值,则该字符串将放在整数之前.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有