【发布时间】:2017-11-27 10:55:16
【问题描述】:
我有一个给定的数组:
A = [9, 8, 7, 6, 5, 4]
我正在实现计数排序算法来在 Python 中对这个数组进行排序。 数组中的数字总是在 N 范围内。
我得到了每个元素的计数和列表的排序。
count = [0, 0, 0, 0, 1, 1, 1, 1, 1, 1]
sorted = [4, 5, 6, 7, 8, 9]
现在,我想输出每个元素的计数: 例如:
4 1
5 1
6 1
7 1
8 1
9 1
如何将它们与列表 [count & array] 进行比较?
代码:
N = int(input())
A = list(map(int, input().split(" ")))
print(A)
m = N + 1
count = [0] * m
for a in A:
# count occurences
count[a] += 1
print(count)
i = 0
for a in range(m):
for c in range(count[a]):
A[i] = a
i += 1
print(A, count)
print([i,j for i,j in zip(A,count)])
我尝试压缩,但效果不佳。我该怎么做?
【问题讨论】:
-
数组中的数字总是在1到9之间?您的问题并未表明这一点,也不是很清楚。
-
python 列表!= 数组...
标签: python list sorting compare