已有一个列表如下
list1 = [12, 1, 3, 19, 0, 1, 16, 8, 19, 10, 6, 10, 0, 4, 3, 18, 2, 18, 17, 6, 16, 19, 12, 18, 4, 4, 16, 12, 13, 11, 0, 0, 12, 7, 10, 2, 7, 12, 4, 18, 13, 18, 16, 17, 14, 12, 1, 12, 4, 14, 8, 18, 4, 12, 10, 1, 18, 7, 2, 9, 3, 11, 12, 2, 9, 13, 12, 18, 15, 1, 9, 5, 11, 6, 12, 9, 16, 14, 18, 0, 15, 4, 17, 5, 1, 13, 0, 10, 0, 6, 16, 15, 3, 16, 20, 18, 4, 18, 16, 3]
由此生成新的列表,要求为一个2维列表,包括list1的每个不重复元素和在list1中出现的次数。例如12在list1中出现11次,就记为[12, 11],最后按元素由小到大排序,生成如下的列表
list1 = [12, 1, 3, 19, 0, 1, 16, 8, 19, 10, 6, 10, 0, 4, 3, 18, 2, 18, 17, 6, 16, 19, 12, 18, 4, 4, 16, 12, 13, 11, 0, 0, 12, 7, 10, 2, 7, 12, 4, 18, 13, 18, 16, 17, 14, 12, 1, 12, 4, 14, 8, 18, 4, 12, 10, 1, 18, 7, 2, 9, 3, 11, 12, 2, 9, 13, 12, 18, 15, 1, 9, 5, 11, 6, 12, 9, 16, 14, 18, 0, 15, 4, 17, 5, 1, 13, 0, 10, 0, 6, 16, 15, 3, 16, 20, 18, 4, 18, 16, 3]
由此生成新的列表,要求为一个2维列表,包括list1的每个不重复元素和在list1中出现的次数。例如12在list1中出现11次,就记为[12, 11],最后按元素由小到大排序,生成如下的列表
[[0, 7], [1, 6], [2, 4], [3, 5], [4, 8], [5, 2], [6, 4], [7, 3], [8, 2], [9, 4], [10, 5], [11, 3], [12, 11], [13, 4], [14, 3], [15, 3], [16, 8], [17, 3], [18, 11], [19, 3], [20, 1]]
Python源码:
list1 = [12, 1, 3, 19, 0, 1, 16, 8, 19, 10,\
6, 10, 0, 4, 3, 18, 2, 18, 17, 6,\
16, 19, 12, 18, 4, 4, 16, 12, 13,\
11, 0, 0, 12, 7, 10, 2, 7, 12, 4,\
18, 13, 18, 16, 17, 14, 12, 1, 12,\
4, 14, 8, 18, 4, 12, 10, 1, 18, 7,\
2, 9, 3, 11, 12, 2, 9, 13, 12, 18,\
15, 1, 9, 5, 11, 6, 12, 9, 16, 14,\
18, 0, 15, 4, 17, 5, 1, 13, 0, 10,\
0, 6, 16, 15, 3, 16, 20, 18, 4, 18, 16, 3]
array = set()
for i in list1:
temp = (i, list1.count(i))
array.add(temp)
array = list(array)
array.sort(key=lambda x:x[0])
array = list(map(list, array))
print(array)