聊聊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字符类型的一些方法小结
May 16 Python
Python创建二维数组实例(关于list的一个小坑)
Nov 07 Python
Python实现的质因式分解算法示例
May 03 Python
Python实现的读取电脑硬件信息功能示例
May 30 Python
python3 读取Excel表格中的数据
Oct 16 Python
python实现图片筛选程序
Oct 24 Python
Python数据类型之Number数字操作实例详解
May 08 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
如何使用Python抓取网页tag操作
Feb 14 Python
python闭包与引用以及需要注意的陷阱
Sep 18 Python
python3中TQDM库安装及使用详解
Nov 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实现定时生成HTML网站首页实例代码
2008/11/20 PHP
php长字符串定义方法
2012/07/12 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
php中上传文件的的解决方案
2018/09/25 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
Javascript之文件操作
2007/03/07 Javascript
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
2017/01/20 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
如何搜索查找并解决Django相关的问题
2014/06/30 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
Python3 Random模块代码详解
2017/12/04 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
serialVersionUID具有什么样的特征
2014/02/20 面试题
美术专业学生个人自我评价
2013/09/19 职场文书
总经理岗位职责
2013/11/09 职场文书
警察思想汇报
2014/01/04 职场文书
早餐连锁店计划书
2014/01/08 职场文书
区级文明单位申报材料
2014/05/15 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
运动会通讯稿50字
2015/07/20 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书