位置: 编程技术 - 正文

Perl基本数组排序方法介绍(perl数组求和)

编辑:rootadmin

推荐整理分享Perl基本数组排序方法介绍(perl数组求和),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:perl里怎么对数组实现一次遍历,perl数组排序,perl里怎么对数组实现一次遍历,perl数组push,perl数组元素个数,perl数组最大值,perl数组元素个数,perl数组元素个数,内容如对您有帮助,希望把文章链接给更多的朋友!

本文我们学习如何用Perl对字符串或者数字数组进行排序。

Perl有个内置函数叫做sort毫无疑问的可以排序一个数组。 其最简单的形式是传递一个数组,它会返回排序后的元素组成的数组。@sorted = sort @original。

基于ASCII码排序上边的例子将会打印第一个输出显示了排序前的数组,第二个是排序后的。

这是最简单的情形,但是可能未必是你想要的。 比如,如果一些单词以大写字母开头怎么办?@sorted_names里的结果将是:你会发现,以大写字母开头的单词排在了第一位。 这是因为sort默认根据ASCII码表排序,所有的大写字母都排在小写字母前边。

比较函数

Perl的sort的工作方式是这样的,它遍历原始数组的每两个元素;每次把左边的值放入变量$a,把右边的值放入变量$b。 然后调用比较函数。如果$a的内容应该在左边的话,“比较函数”会返回1;如果$b应该在左边的话,返回-1,两者一样的话,返回0。

通常你看不到比较函数,sort会根据ASCII码表对值进行比较,不过如果你想的话,你可以显式的写出来:这段代码会跟没有使用块的sort @words达到同样的效果。

Perl基本数组排序方法介绍(perl数组求和)

这里你可以看到,默认perl使用cmp作为比较函数。这是因为正是cmp可以做这里边我们需要的工作。 它比较两边的字符串的值,如果左边参数“小于”右边参数,就返回1;如果左边参数“大于”右边参数,就返回-1;如果相等,就返回0。

按字母顺序排列

如果你想忽略字符串的大小写来排序——即通常所谓的字母序,你可以像下一个例子这么做:这里为了比较,我们调用lc函数返回参数的小写版本。然后cmp比较这些小写版本并决定原始字符串谁先谁后。

结果是

Perl对数值排序

如果对数值数组使用sort进行默认的排序,结果可能不是我们期望的。仔细一想的话,这并不奇怪。比较函数看到和3时,它按字符串进行比较。这意味着比较两个字符串的第一个字符"1"和"3"。 在ASCII码表里,"1"在"3"前边,因此字符串""会排在字符串"3"前面。

Perl不会很神奇地猜到你想按数字对这些值排序。

尽管我们可以写一个比较函数来按数字比较两个值。但这里我们使用<=>(也被称作宇宙飞船操作符), 它会按数字来比较两个参数并返回1、-1或者0。结果是:

Perl中怎样从数组中删除某个值? 我不确定undef是否和从数组中消除值有确切的关系,猜测一下,如果我们将undef视为"空",那么会有一些联系。但通常来说,将某些东西赋值为undef和删除

Perl删除前导和拖尾空白(删除左右空格、空白字符) 其它一些编程语言中,有函数ltrim和rtrim分别用于从字符串开头和末尾删除空格和制表符。也有的提供了函数trim来删除字符串两端的空白字符。Perl里没

Perl中的单行注释和多行注释语法 同其他大多数编程语言一样,Perl中的单行注释也是#开头,例如:#print"Hello,World!";但多行注释,不同的语言有不同的注释方式,比如说:Java,C/C++:/**注释若

标签: perl数组求和

本文链接地址:https://www.jiuchutong.com/biancheng/368776.html 转载请保留说明!

上一篇:Perl中捕获警告信息、异常信息并写入日志详解(perl调用perl脚本)

下一篇:Perl中怎样从数组中删除某个值?(perl中\s+)

  • 税务知识:价外费用包括哪些费用?
  • 税款征收方式是指
  • 制造费用影响当期损益的科目
  • 个体户定期定额是什么意思
  • 售后回租会计处理研究国外相关研究成果
  • 科目汇总表会计核算形式
  • 预收购货单位货款
  • 电子产品委外加工
  • 外币折算准则规范的外币交易
  • 母子公司无偿划拨资产
  • 用友薪资管理怎么重新初始化步骤
  • 去年支付的费用今年取得发票
  • 材料检测费怎么计算
  • 母子公司间的借款现金流计入哪里
  • 企业所得税退税的会计分录怎么做
  • 房地产开发企业应交税费科目
  • 工程已完工又发生了成本怎么处理
  • 自建公司什么意思
  • 房租的应收必须交吗
  • 无形资产入账价值包括注册费吗
  • 消费满额赠礼
  • 个人部分公积金可以抵扣个税吗
  • 采用视同买断方式代销商品怎么记账?
  • 计提代扣代缴个税
  • window最新漏洞
  • 银行承兑找个人怎么操作
  • 单位租房的房租怎么入账
  • linux tr
  • php日期时间函数
  • kwhcommonpop.exe是什么程序
  • PHP:parse_ini_file()的用法_Filesystem函数
  • 增值税税收类型有哪些
  • 最早能玩游戏的人
  • 接受捐赠会计准则
  • 银行承兑汇票贴现怎么算
  • echart横坐标
  • 进项税已认证未缴纳
  • vue项目创建流程
  • 增值税报税后多久缴纳期限
  • 销售旧货税率
  • 稿酬的支付方式
  • 开发区政府退税政策合法吗
  • 所得税费用可以计入税金及附加吗
  • 电子税务局如何添加办税人员
  • 其他货币资金的明细科目有哪些
  • sql server遇到的主要问题及解决方法
  • sql动态执行
  • 本年利润借方余额是什么意思呢
  • 全年一次性奖金单独计税还是并入
  • 人力资源劳务外包需要什么资质证书
  • 自产产品用于职工福利按什么价格
  • 包装的设计要遵循哪些要求?
  • 在职职工在单位应享受哪些待遇
  • 应交税金-应交增值税明细账
  • 过路费属于会计哪个科目
  • 对公账户提取备用金怎么做账
  • 离岸银行账户开户
  • sql中出现将截断字符串或二进制
  • solaris 2020
  • linux常用帮助命令
  • win7虚拟内存怎么设置
  • win10联想笔记本还原系统
  • 电脑没有声音了是怎么回事
  • extjs4 treepanel动态改变行高度示例
  • 怎么用winrar打包压缩文件
  • python内置函数open()的参数用来指定打开文本文件
  • jquery滚动条滚动到指定位置
  • nodejs游戏开发
  • 京东试用js脚本
  • js如何显示日期和时间
  • jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
  • vue使用jssdk
  • shell脚本监控进程
  • python调用python代码
  • 获取手机信息的渠道
  • jquery weui
  • android软件开发实例
  • 进项发票认证了怎么冲红
  • 发票查验结果怎么保存
  • 河北电子税务局怎么使用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设