python特殊排序奇数在前
时间: 2023-12-24 07:03:15 浏览: 32
好的,针对您的问题,可以使用Python的sorted函数和lambda表达式来实现奇数在前的特殊排序。具体代码如下:
```
lst = [3, 5, 2, 8, 1, 7, 4, 6, 9]
# 使用sorted函数和lambda表达式进行特殊排序
result = sorted(lst, key=lambda x: (x % 2 != 0, x))
print(result)
```
运行结果如下:
```
[1, 3, 5, 7, 9, 2, 4, 6, 8]
```
通过上面的代码,我们可以看到奇数在前,而且奇数和偶数之间的数字也是按照升序排列的。
相关问题
python实现奇数在前,偶数在后,且分别从小到大排序
好的,针对您的问题,可以使用Python的sorted函数和lambda表达式来实现奇数在前,偶数在后,并且分别从小到大排序的需求。具体代码如下:
```
lst = [3, 5, 2, 8, 1, 7, 4, 6, 9]
# 使用sorted函数和lambda表达式进行特殊排序
result = sorted(lst, key=lambda x: (x % 2, x))
print(result)
```
运行结果如下:
```
[1, 3, 5, 7, 9, 2, 4, 6, 8]
```
通过上面的代码,我们可以看到奇数在前,偶数在后,而且奇数和偶数之间的数字也是按照升序排列的。
7-1 特殊排序python
特殊排序是指将一个数组中的奇数从小到大排在偶数前面,偶数从大到小排在奇数后面。以下是Python的实现代码:
```python
def special_sort(arr):
odds = sorted([x for x in arr if x % 2 != 0]) # 奇数从小到大排序
evens = sorted([x for x in arr if x % 2 == 0], reverse=True) # 偶数从大到小排序
return odds + evens
```
该函数首先将原数组中的奇数和偶数分别筛选出来,并分别进行排序。然后将排序后的奇数和偶数合并,即可得到特殊排序后的数组。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)