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

    文章

    4406

    浏览量

    66812
  • C++
    C++
    +关注

    关注

    22

    文章

    2122

    浏览量

    76695
  • python
    +关注

    关注

    57

    文章

    4856

    浏览量

    89548

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【Labview技巧合集】16 在labview嵌入python做的界面

    在labview嵌入python做的GUI界面 无所不能的labview啊
    发表于 09-22 05:30

    termux调试python猜数字游戏

    用termux做一个猜数字游戏 下面是在Termux创建猜数字游戏的步骤及完整实现方案,结合Python实现(最适配Termux环境): ? 一、环境准备(Termux基础配置) 1.
    发表于 08-29 17:15

    termux如何搭建python游戏

    /zsh-autosuggestions# 自动补全插件 ``` 编辑`~/.zshrc`文件,在`plugins`添加:`plugins=(git python zsh-autosuggestions
    发表于 08-29 07:06

    怎么导出python边缘计算的APP,想进行修改又找不到源码?

    怎么导出python边缘计算的APP,想进行修改又找不到源码
    发表于 08-06 07:33

    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

    低成本电源排序器解决方案

    绝大多数负载点DC-DC转换器可以将上一个转换器的电源就绪输出连接至下一个转换器的使能输入,实现上电排序。这种方法只适合比较简单的设计,不能满足多数现代微处理器和DSP的要求一这类器件要求断电顺序必须与上电顺序相反。许多厂商针对这类应用推出了可编程排序IC,但器件价格较为
    的头像 发表于 05-21 09:55 955次阅读
    低成本电源<b class='flag-5'>排序</b>器解决方案

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是
    的头像 发表于 03-25 09:27 1509次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    Python在嵌入式系统的应用场景

    你想把你的职业生涯提升到一个新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的库和快速的开发周期,这使得它在某些嵌入式场景中非常有用,以下是
    的头像 发表于 03-19 14:10 1184次阅读

    创建了用于OpenVINO™推理的自定义C++和Python代码,从C++代码获得的结果与Python代码不同是为什么?

    创建了用于OpenVINO™推理的自定义 C++ 和 Python* 代码。 在两个推理过程中使用相同的图像和模型。 从 C++ 代码获得的结果与 Python* 代码不同。
    发表于 03-06 06:22

    如何将python文件导入到ROS系统

    本文通过使用myCobot机械臂进行QR码视觉追踪的实践案例分析,介绍如何将 python 文件导入到 ROS 系统
    的头像 发表于 02-11 11:08 1191次阅读
    如何将<b class='flag-5'>python</b>文件导入到ROS系统<b class='flag-5'>中</b>

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    使用Python实现xgboost教程

    装: bash复制代码conda install -c conda-forge xgboost 2. 导入必要的库 在你的Python脚本或Jupyter Notebook,导入必要的库: python复制代码 import
    的头像 发表于 01-19 11:21 2200次阅读

    详解Linux sort命令之掌握排序技巧与实用案例

    在linux系统使用过程,提供了sort排序命令,支持常用的排序功能。 常用参数 sort命令支持很多参数,常用参数如下:   短参数 长参数 说明 -n – number-sort 按字符串数值
    的头像 发表于 01-09 10:10 1580次阅读

    TimSort:一个在标准函数库中广泛使用的排序算法

    排序算法呢? 本文将带你走进 TimSort,一个在标准函数库中广泛使用的排序算法。 这个算法由工程师 Tim Peters 于 2001 年专为 Python 设计,并自 Python
    的头像 发表于 01-03 11:42 947次阅读