我正在编写一种工具来绘制单词,在很多说唱天才歌词中使用了多少次。
我已经提取了两个列表:一个是单词的名称。另一个用于词的使用量。
list_name=["I","you","the"]
list_count=[23,42,12]
同一索引处的值是对。我不确定这是否是最有用的方法,但这就是我可以制作一个表示每个单词及其数量的条形图的方式。现在,我想按最高数量对它进行排序。如果我对list_count进行排序,我将无法真正将其转移以使list_name与list_count的顺序相同。
有什么建议吗?我尝试过字典,但是找不到如何有用的方法。
您可以创建一个元组,然后按元组中的值排序,然后再次获取列表。这不是最佳选择,但足够了
您构造数据的方式将使执行此任务变得困难。您是否考虑过改为创建import numpy as np
# create numpy array with dtypes
t = np.array(list(zip(list_name, list_count)), dtype = [('name', 'S10'), ('count', int)])
# sort array
t = np.sort(t, order=['count'])[::-1]
# plot
plt.bar(x=t['name'], height=t['count'])
?
您可以使用列表创建一个元组。