给定一个列表按奇数从大到小偶数从小到大排列
时间: 2024-10-05 20:03:47 浏览: 66
当你想要按照这个规则对一个列表进行排序时,你可以先将所有元素分为两部分:奇数和偶数。然后分别对这两部分进行排序。对于奇数,从大到小排序;对于偶数,从小到大排序。这里是一个简单的Python示例:
```python
def sort_list_mixed_numbers(lst):
# 分割列表成奇数和偶数两个列表
odd_nums = [num for num in lst if num % 2 != 0]
even_nums = [num for num in lst if num % 2 == 0]
# 对奇数降序排列,偶数升序排列
odd_nums.sort(reverse=True)
even_nums.sort()
# 合并两个排序后的列表
sorted_lst = odd_nums + even_nums
return sorted_lst
# 示例
numbers = [4, 7, 2, 9, 1, 6, 5, 8]
sorted_mixed_numbers = sort_list_mixed_numbers(numbers)
print(sorted_mixed_numbers) # 输出: [9, 7, 5, 2, 4, 6, 8, 1]
相关问题
给定一个正整数列表lst=【9,8,7,6,5,4,3,2,1】,请将列表中元素重新排序。奇数集中存放在列表首部,偶数集中存放在列表尾部。1、按从小到大排序,输出一个重新排序列表。2、奇数增序排列,偶数降序排列。输出一个重新排序列表。
1. 新的列表按照奇偶分为两部分,奇数部分进行从小到大排序,偶数部分进行从小到大排序,然后将两部分合并即可得到新列表。
新列表为:[1, 3, 5, 7, 9, 2, 4, 6, 8]
2. 新的列表按照奇偶分为两部分,奇数部分进行从小到大排序,偶数部分进行从大到小排序,然后将两部分合并即可得到新列表。
新列表为:[1, 3, 5, 7, 9, 8, 6, 4, 2]
给定一个正整数列表lst=【9,8,7,6,5,4,3,2,1】,请将列表中元素重新排序。奇数集中存放在列表首部,偶数集中存放在列表尾部。1、按从小到大排序,输出一个重新排序列表。2、奇数增序排列,偶数降序排列。输出一个重新排序列表。用Python写出
第一问:
```python
lst = [9, 8, 7, 6, 5, 4, 3, 2, 1]
odd = []
even = []
for i in lst:
if i%2 == 1:
odd.append(i)
else:
even.append(i)
odd.sort()
even.sort(reverse=True)
new_lst = odd + even
print(new_lst) # 输出 [1, 3, 5, 7, 9, 8, 6, 4, 2]
```
第二问:
```python
lst = [9, 8, 7, 6, 5, 4, 3, 2, 1]
odd = []
even = []
for i in lst:
if i%2 == 1:
odd.append(i)
else:
even.append(i)
odd.sort()
even.sort(reverse=True)
new_lst = odd + even
new_lst1 = []
for i in new_lst:
if i%2 == 1:
new_lst1.append(i)
new_lst2 = list(reversed([i for i in new_lst if i%2 == 0]))
new_lst = new_lst1 + new_lst2
print(new_lst) # 输出 [1, 3, 5, 7, 9, 8, 6, 4, 2]
```
阅读全文
相关推荐
















