python怎么实现数组排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么实现数组排序相关的知识,希望对你有一定的参考价值。

例如现在是两个数组,一个数组a是(1,5,2,4,3) 第二数组b对应第一个数组并且为(23,25,27,29,31),就是1对应23;5对应25.现在要对第一个数组排序,排成1,2,3,4,5,同时第二数组对应的值也相应的交换,结果输出23,27,31,29,25。实际数组a和数组b数据量很大,问题是怎么用Python实现

# 合成一个字典
ab = dict(zip(a, b))
# 根据字典的键进行排序(也就是第一个列表);也可以根据第二个列表进行排序。
# 具体是升序还是降序,自己挑着来。
ab_order = sorted(ab.items(), key=lambda x: x[0], reverse=
False)

参考技术A a = (1, 5, 2, 4, 3)
b = (23, 25, 27, 29, 31)
c = zip(a, b)
d = sorted(c, key=lambda x:x[0])
print(d)

追问

[(1, 23), (2, 27), (3, 31), (4, 29), (5, 25)]
要去掉前面索引,输出(23,27,31,29,25),现在怎么弄呢

追答list1 = [(1, 23), (2, 27), (3, 31), (4, 29), (5, 25)]
list2 = [t[1] for t in list1]
print(list2)

本回答被提问者采纳

python中怎么对json数组按json的某个字段进行排序

以下代码运行通过:

json_array = ["time": 20150312, "value": "c", "time": 20150301, "value": "a", "time": 20150305, "value": "b"]

json_array.sort(key=lambda x: x["time"])

print(json_array)

运行结果:

参考技术A dict1 = 'a':2,'c':3,'b':4
# 按照key进行排序 
print sorted(dict1.items(), key=lambda d: d[0]) 
# 按照value进行排序 
print sorted(dict1.items(), key=lambda d: d[1])

本回答被提问者采纳

以上是关于python怎么实现数组排序的主要内容,如果未能解决你的问题,请参考以下文章

快速排序的Python 简单实现

数组排序返回索引-python和c++的实现

python实现快速排序

Python实现归并排序 𴂅

冒泡排序 和 选择排序的 区别 python

Vector容器 二维数组sort()排序