把python 数组,量化为从1开始的数组
2014-09-09 15:11
155 查看
问题描述:
比方我有一个数组:a=[10,12,3,4,9]
我最终想要的是:[4,5,1,2,3]
就是按照大小将数组a中的元素转换为其对应的大小排序值。
思路:1,先用字典保存位置和值
2,按照值对字典进行排序
3,对排序后的值进行量化:量化为:1,2,3,4,5
4,在对tuple按照位置进行排序
5,导出排序后的值即可
比方我有一个数组:a=[10,12,3,4,9]
我最终想要的是:[4,5,1,2,3]
就是按照大小将数组a中的元素转换为其对应的大小排序值。
思路:1,先用字典保存位置和值
2,按照值对字典进行排序
3,对排序后的值进行量化:量化为:1,2,3,4,5
4,在对tuple按照位置进行排序
5,导出排序后的值即可
dict={} for i in xrange(len(FINAL_STATISTICS)): dict.setdefault(i,FINAL_STATISTICS[i]) sorted_tuple=sorted(dict.iteritems(),key=lambda dict:dict[1]) #对字典按照key值进行排序 temp_list=[] temp_count=1 for i in xrange(len(sorted_tuple)): if i==0: temp_list.append([sorted_tuple[i][0],temp_count]) #temp_count+=1 continue if sorted_tuple[i][1]==sorted_tuple[i-1][1] : temp_list.append([sorted_tuple[i][0],temp_count]) else : temp_count+=1<span style="white-space:pre"> </span>#对tuple的值进行量化 temp_list.append([sorted_tuple[i][0],temp_count]) temp_list =sorted(temp_list) final_sorted=[] for item in temp_list: final_sorted.append(item[1]) #输出tuple的第二个元素 print final_sorted
相关文章推荐
- Python语言的创始人解释为什么Python数组的索引从0开始
- 用Python开始机器学习(5:文本特征抽取与向量化)
- Python语言的创始人解释为什么Python数组的索引从0开始
- Python语言的创始人解释为什么Python数组的索引从0开始
- 用Python开始机器学习(5:文本特征抽取与向量化)
- Python之父:为什么Python数组下标从0开始
- 用Python开始机器学习(5:文本特征抽取与向量化) sklearn
- 用Python开始机器学习(5:文本特征抽取与向量化)
- Python语言的创始人解释为什么Python数组的索引从0开始
- 用Python开始机器学习(5:文本特征抽取与向量化)
- 开始Python -- List和Tuple(1)
- why Python? 我的python 从此开始...
- 开始Python之旅!
- 开始Python -- Dictionary
- 开始Python -- 抽象化(2)
- 一切从游戏开始-完整的一个python to hack 实例
- 开始Python -- 控制语句(1)
- 开始Python -- Python基础(1)
- 开始Python -- List和Tuple(3)
- 开始Python -- String处理(2)