#对列表中的数据用sort去重并排序用python怎么写
时间: 2024-10-09 13:09:34 浏览: 13
在Python中,如果你想要对列表进行去重并排序,你可以使用以下步骤:
首先,你需要先去除列表中的重复项,可以利用set的特性来完成这个任务,因为set是一个无序的不重复元素序列。然后,你可以将set转化为一个新的列表,并保持元素顺序(虽然set本身是没有顺序的),再进行排序。
这是一个简单的例子:
```python
def sort_and_remove_duplicates(input_list):
# 使用set去除重复项,然后转回list
unique_list = list(set(input_list))
# 对列表进行排序,这里使用默认的升序排序
sorted_list = sorted(unique_list)
return sorted_list
# 测试示例
original_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
result = sort_and_remove_duplicates(original_list)
print(result) # 输出:[1, 2, 3, 4, 5, 6, 9]
```
如果需要自定义排序规则,可以传递一个key参数给sorted()函数,比如按元素的绝对值大小进行降序排序:
```python
def custom_sort_and_remove_duplicates(input_list):
unique_list = list(set(input_list))
sorted_list = sorted(unique_list, key=abs, reverse=True)
return sorted_list
# 测试示例
custom_result = custom_sort_and_remove_duplicates([-3, -1, 4, -1, 5, 9, -2, -6, 5])
print(custom_result) # 输出:[9, 5, 4, 3, 2, 1, -1, -2, -3, -6]
```