如何按列对值进行排序,假设我有一个像这样的二维数组: [A、B、C、D、E、F、G、H] [1,3,5,7,8,1,2,2] 我希望它按底行数字的降序排序,例如: [E、D、C、B、G、H、A、F] [8,7,5,3,2,2,1,1] 抱歉,如果我的英语不好:(
这是我尝试计算字母出现的时间
s = str(input()).upper()
z = list(set(s))
z.sort()
if z[0]==' ':
z.remove(z[0])
kitu = [z, [' ']* (len(z))]
dem = []
for i in range(len(z)):
kitu[1][i] = s.count(z[i])
dem.append(s.count(z[i]))
我正在使用Python,而且对它还很陌生,谢谢你的帮助<3
你的预期结果的值较小,正如@guy提到的,但我认为你可能会期待这个 -
a = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'] # row1
b= [1, 3, 5, 7, 8, 1, 2, 2] # row2
d = dict(zip(a,b)) # create dictionary
#sort the dictionary {key:value} in descending order by it's value element
sorted_dict = dict(sorted(d.items(), key=lambda elem: elem[1], reverse=True))
# Convert the dict into 2D array
arr = [[k,v]for k,v in sorted_dict.items()]
print(arr)
希望这有帮助!