python给定一个数据列表,编程输出一个包含原列表非重复数据从大到小排列的列表不使用set函数
时间: 2024-09-27 22:10:12 浏览: 27
在Python中,如果你有一个数据列表并且你想得到一个只包含非重复元素,并按降序排序的新列表,可以采用一些常见的数据结构和算法来实现,如字典(因为字典的键是唯一的),然后将其转换回列表并排序。以下是具体的步骤:
```python
def unique_sorted_list(input_list):
# 使用字典存储每个元素及其计数
count_dict = {}
for item in input_list:
if item not in count_dict:
count_dict[item] = 1
else:
count_dict[item] += 1
# 将字典的键值对转为元组列表,然后取最后一个元素作为值,用于排序
sorted_items = [(k, v) for k, v in count_dict.items()]
# 按照值(即元素的数量)降序排序
sorted_items.sort(key=lambda x: x[1], reverse=True)
# 取出唯一值对应的键,构建新的无重复元素列表
output_list = [item[0] for item in sorted_items]
return output_list
# 示例
data_list = [5, 3, 8, 2, 3, 5, 9, 2]
result = unique_sorted_list(data_list)
print(result)
阅读全文