聊聊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利用递归实现文件的复制方法
Oct 27 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
Python常见数字运算操作实例小结
Mar 22 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
基于python 取余问题(%)详解
Jun 03 Python
Python叠加矩形框图层2种方法及效果
Jun 18 Python
Python Selenium自动化获取页面信息的方法
Aug 31 Python
python搜索算法原理及实例讲解
Nov 18 Python
用python对oracle进行简单性能测试
Dec 05 Python
如何用 Python 处理不平衡数据集
Jan 04 Python
Python中Permission denied的解决方案
Apr 02 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获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
jQuery+jqmodal弹出窗口实现代码分明
2010/06/14 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
2015/03/10 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
protractor的安装与基本使用教程
2017/07/07 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
python实现的系统实用log类实例
2015/06/30 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
新手学习Python2和Python3中print不同的用法
2020/06/09 Python
函数指针的定义是什么
2016/08/14 面试题
大学生毕业求职自荐书范文
2014/02/04 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
浅析JavaScript中的变量提升
2022/06/01 Javascript
利用Apache Common将java对象池化的问题
2022/06/16 Servers