聊聊Python String型列表求最值的问题


Posted in Python onJanuary 18, 2022

最近在写一个项目的时候发现了个很神奇的问题

temp_list=['9','10','10','9','10']
print(max(temp_list)) # 9
print(min(temp_list)) # 10

最大值变成了9,而最小值变成了10。导致我在一个Excel表中的数据老是判断错误

分析之后原因如下:

如果比较字符串的大小,则比较的是字符的ASCII编码的大小。

在比较时,设置一个计数器,从零开始,一直循环到最短的那个字符结束,一位一位进行比较,

1.如果 字符串1的第n位的ASCII码值 等于 字符串2的第n位的ASCII码值
则 继续比较下一位
2.如果 字符串1的第n位的ASCII码值 大于 字符串2的第n位的ASCII码值
则 输出结果:1,表示字符串1 > 字符串2;
3.如果 字符串1的第n位的ASCII码值 小于 字符串2的第n位的ASCII码值
则 输出结果:-1 表示字符串1 < 字符串2;
4.如果 每一位的ASCII码值都相等,而且长度相同,
则 输出结果:0 表示字符串1 == 字符串2;
5.如果 字符串1是字符串2的前m位,例如 abcd 与abcdef 比较,
则 字符串1<字符串2.
原因是,到第5位时,字符串1的ASCII值是0,而字符串2的ASCII值为'e',即十进制的101,当然是字符串2大了.

这边的话,相当于是9跟1作比较,固然最后得出来的字符串‘9’大于‘10’

比较好的办法就是写个函数,把字符串转换成int型

def stringToInt(temp_list):
    tt_list=[]
    for i in temp_list:
        tt_list.append(float(i))
    return tt_list

字符串的问题虽然简单,但是很容易出错,另外,Python中做判断的时候一定要注意数据类型

到此这篇关于Python String型列表求最值的问题的文章就介绍到这了,更多相关Python String型列表内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
浅析Python中的多重继承
Apr 28 Python
探究Python中isalnum()方法的使用
May 18 Python
详解Python的Flask框架中的signals信号机制
Jun 13 Python
python 计算文件的md5值实例
Jan 13 Python
python模拟登录并且保持cookie的方法详解
Apr 04 Python
Django中redis的使用方法(包括安装、配置、启动)
Feb 21 Python
python3 pandas 读取MySQL数据和插入的实例
Apr 20 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
解决keras backend 越跑越慢问题
Jun 18 Python
python os模块在系统管理中的应用
Jun 22 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Python的三个重要函数详解
Jan 18 #Python
python多线程方法详解
Jan 18 #Python
用Python生成会跳舞的美女
基于Pygame实现简单的贪吃蛇游戏
Dec 06 #Python
Python可变集合和不可变集合的构造方法大全
Dec 06 #Python
Python实现视频中添加音频工具详解
Dec 06 #Python
Python实现GIF动图以及视频卡通化详解
You might like
php MySQL与分页效率
2008/06/04 PHP
php中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
php rsa加密解密使用详解
2015/01/14 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
中止javascript执行的方法
2014/02/14 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
2015/06/19 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
Python中模块string.py详解
2017/03/12 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
中专生求职自荐信范文
2013/12/22 职场文书
超市后勤自我鉴定
2014/01/17 职场文书
保安岗位职责
2014/02/21 职场文书
父母寄语大全
2014/04/12 职场文书
买卖车协议书
2014/04/21 职场文书
公共场所标语
2014/06/30 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python