聊聊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 相关文章推荐
wxPython事件驱动实例详解
Sep 28 Python
Python新手们容易犯的几个错误总结
Apr 01 Python
Python3 操作符重载方法示例
Nov 23 Python
python梯度下降法的简单示例
Aug 31 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
Django集成CAS单点登录的方法示例
Jun 10 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
Python爬虫学习之获取指定网页源码
Jul 30 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 Python
Python图片检索之以图搜图
May 31 Python
用Python生成会跳舞的美女
Jan 18 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中eclipse 用空格替换 tab键
2013/06/24 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
PHP中4个加速、缓存扩展的区别和选用建议
2014/03/12 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
php实现多城市切换特效
2015/08/09 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
2018/09/27 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
js中switch语句的学习笔记
2020/03/25 Javascript
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
实习自我鉴定范文
2013/10/30 职场文书
最新教师自我评价分享
2013/11/12 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
迎国庆演讲稿
2014/09/15 职场文书
单位委托书
2014/10/15 职场文书
教师工作表现评语
2014/12/31 职场文书
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL