?887 2022-11-05 09:03 采纳率: 97.8%
浏览 41
已结题

python元素排列

完成partition()函数,它接受一个整数值列表data作为参数。函数重新排列列表中的元素。函数不返回任何东西。
元素重新排列如下:.所有负数都被删除。.所有奇数都按从小到大的顺序排列,排在偶数之前。.所有的偶数都按从大到小的顺序排列,并且排在奇数之后。任何0的值都出现在奇数之后和偶数之前(也就是说,它们将奇数和偶数分开)。
输入:data = [0, 1, 2, 3, 4, 5, -5, -4, -3, -2, -1, 0]
partition(data)
print(data)
输出:[1, 3, 5, 0, 0, 4, 2]
输入:data = [0, 0 , 0, 2, 2, 4, 5, 6, 7, 6, 5, 3, 1]
partition(data)
print(data)
输出: [1, 3, 5, 5, 7, 0, 0, 0, 6, 6, 4, 2, 2]

输入:data = [-1, -3]
partition(data)
print(data)
输出: [ ]

  • 写回答

2条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-11-05 10:21
    关注
    def partition(data):
        a = sorted(i for i in data if i%2 and i>0)
        b = [0]*data.count(0)
        c = sorted(i for i in data if i%2==0 and i>0)
        data[:]=a+b+c[::-1]
        
    data = [0, 1, 2, 3, 4, 5, -5, -4, -3, -2, -1, 0]
    partition(data)
    print(data)
    

    输出

    [1, 3, 5, 0, 0, 4, 2]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月13日
  • 已采纳回答 11月5日
  • 创建了问题 11月5日

悬赏问题

  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂