0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python中的排序

gVTR_Unf 来源:机器视觉CV 2020-09-07 16:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Python 中的排序

在 Python 中,常用的排序就是 sorted ,对于列表这种数据结构来说,还有 sort 方法

列表的排序

使用 sort 方法进行排序,以第二个值进行升序排序,列表的 sort 方法是原地排序

另外一种排序方法是 sorted ,此方法不是原地排序,以第一个值进行排序,同样也是默认升序排序

字典排序

有时候我们也需要对字典进行排序,也是使用 sorted 函数,不过对字典排序后返回的是列表,列表中是元组(tuple)

C++ 中的排序

对 vector 排序

要对 vector 容器中的元素排序,可以使用 algorithm 算法库中的 sort 函数

#include #include #include usingnamespacestd; intmain(){ vectora; cout<< "sort before" << endl;  for (int i = 0; i <10; i++){   a.push_back(10-i);   cout << a[i] << "  ";  }  cout << endl;  cout << "sort after" << endl;  sort(a.begin(), a.end());  //   for (int i = 0; i < 10; i++)  {   cout << a[i] << "  " ;  }  cout << endl;  return 0; }

对 2 维vector 排序

类似于 Python ,我们也可以指定根据哪个元素进行排序

#include #include #include usingnamespacestd; #根据第二个元素进行排序 boolsort_by_second_val(vectorv1,vectorv2){ returnv1[1]>v2[1]; } intmain(){ //模拟一个输入 vector< vector>arr; for(inti=0;i< 10; i+=2)  {   vectortemp; temp.push_back(i); temp.push_back(i+1); arr.push_back(temp); } //排序前:arr =[[0, 1], [2, 3], [4, 5], [6, 7],[8, 9]] sort(arr.begin(),arr.end(),sort_by_second_val); //排序后:arr =[[8, 9], [6, 7], [4, 5], [2, 3],[0, 1]] return0; }

对结构体进行排序

模拟一个学生管理系统,依次创建学生信息,然后加入到 vector 中,接着对学生的年龄进行排序

#include #include #include #include usingnamespacestd; structStuden{ stringname; intage; }; boolsort_by_age(Studens1,Studens2){ returns1.age<  s2.age; } int main() {  vectorstudens;//用来存储所有学生的信息 Studens1,s2,s3;//创建3个学生 s1.name="xx"; s1.age=20; studens.push_back(s1); s2.name="yy"; s2.age=18; studens.push_back(s2); s3.name="zz"; s3.age=10; studens.push_back(s3); sort(studens.begin(),studens.end(),sort_by_age); return0; }

排序前

排序后

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4423

    浏览量

    68034
  • C++
    C++
    +关注

    关注

    22

    文章

    2131

    浏览量

    77487
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90415

原文标题:【C++简明教程】Python和C++指定元素排序比较

文章出处:【微信号:Unfinished_coder,微信公众号:机器视觉CV】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用PYTHON进行的跨平台仿真

    如何使用编程语言Python来调用和控制VirtualLab Fusion的模拟。请查看下面链接的文档,以找到关于如何设置和使用Python和VirtualLab Fusion之间的接口的详细指南,以及一个
    发表于 04-02 08:21

    [VirtualLab] 使用Python运行VirtualLab Fusion光学仿真

    Fusion的简单方法。在本示例,我们将演示如何使用Python脚本运行光学仿真,以向用户简要概述这种跨平台的仿真能力。 用例概览 文件路径 用户可以在样本文件的文件夹中找到所有文件。包含这些文件
    发表于 03-31 09:39

    MAX16050/MAX16051:电压监测与排序电路的理想选择

    MAX16050/MAX16051:电压监测与排序电路的理想选择 在电子设计领域,对于电压监测和电源排序的需求日益增长,特别是在服务器、工作站、网络系统等复杂设备。今天,我们就来深入探讨
    的头像 发表于 03-02 09:15 193次阅读

    深入解析 LTC2923:电源跟踪与排序的理想解决方案

    深入解析 LTC2923:电源跟踪与排序的理想解决方案 在电子设备的设计,电源的跟踪和排序至关重要,它直接影响着设备的性能和稳定性。LTC2923 作为一款强大的电源跟踪控制器,为我们提供了简单
    的头像 发表于 02-28 15:35 384次阅读

    ADM1066:多功能电源监控与排序芯片的深度解析

    ADM1066:多功能电源监控与排序芯片的深度解析 在电子设备的设计,电源的监控与排序是确保系统稳定运行的关键环节。ADM1066作为一款功能强大的电源监控与排序芯片,为多电源系统提
    的头像 发表于 02-28 14:05 273次阅读

    ADM1068:多功能电源监控与排序芯片的深度解析

    ADM1068:多功能电源监控与排序芯片的深度解析 在电子系统设计,电源的监控与排序至关重要,它直接关系到系统的稳定性和可靠性。今天,我们就来深入探讨一款功能强大的电源监控与排序芯片
    的头像 发表于 02-28 14:05 283次阅读

    LTC2937:六通道电源排序器与电压监控器的设计与应用

    LTC2937:六通道电源排序器与电压监控器的设计与应用 在电子系统设计,电源管理是至关重要的一环。合理的电源排序和电压监控能够确保系统的稳定运行,避免因电源问题导致的故障和损坏。今天,我们就来
    的头像 发表于 02-28 11:15 376次阅读

    ADM1169:多电源系统的监控与排序解决方案

    ADM1169:多电源系统的监控与排序解决方案 在电子工程师的日常工作,多电源系统的监控与排序是一个关键且复杂的问题。今天要为大家介绍的Analog Devices的ADM1169 Super
    的头像 发表于 02-28 11:10 349次阅读

    ADM1166:多电源系统监控与排序的理想解决方案

    ADM1166:多电源系统监控与排序的理想解决方案 在多电源系统的设计,对电源的监控和排序是至关重要的环节。ADM1166作为一款可配置的监控/排序设备,为多电源系统的电源监控和
    的头像 发表于 02-28 11:10 390次阅读

    MAX16050/MAX16051:具备反向排序功能的电压监控与排序电路

    MAX16050/MAX16051:具备反向排序功能的电压监控与排序电路 在电子系统设计,对电源电压的精确监控和有序控制至关重要。Maxim Integrated推出的MAX16050
    的头像 发表于 01-31 17:15 1014次阅读

    C语言插入排序算法和代码

    是,将元素逐个添加到已经排序好的数组中去,同时要求,插入的元素必须在正确的位置,这样原来排序好的数组是仍然有序的。   在实际使用,通常是排序整个无序数组,所以把这个无序数组分为两
    发表于 01-15 06:44

    光纤线芯都是按照什么颜色排序

    多次有朋友留言问到,光纤熔接颜色如何排序,这个在实际应用还是比较多的,那么今天我们就不讲原理了,直接用图文简单明了讲光纤熔接色谱,大家可以了解下。 一、常规排序 1、4芯的排序:蓝、
    的头像 发表于 12-19 11:02 2585次阅读

    Termux调试圣诞树Python代码

    在Termux调试Python代码(以圣诞树立例)非常简单,核心分为环境准备、代码编写、运行调试三个步骤,下面一步步教你操作: 一、环境准备(首次使用需做) Termux默认可能没有Python
    发表于 12-09 09:02

    linux虚拟环境调用Linux 版matlab编译的python库时出错

    、readme.txt、 requiredMCRProducts.txt、init.py、CAO_python.ctf。 在linux环境按照以下步骤安装matlab runtime2018b: ① cd到MCR
    发表于 07-18 10:40

    基础篇3:掌握Python的条件语句与循环

    Python编程语言中,条件语句和循环是构成复杂逻辑和数据处理的基石。本篇基础教程将帮助您深入了解Python的条件语句和循环结构,让您能够更好地控制程序流程。 条件语句 条件语句允许程序根据
    发表于 07-03 16:13