聊聊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实现多线程采集的2个代码例子
Jul 07 Python
python和bash统计CPU利用率的方法
Jul 10 Python
十个Python程序员易犯的错误
Dec 15 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
Nov 23 Python
python实现画圆功能
Jan 25 Python
Python对象中__del__方法起作用的条件详解
Nov 01 Python
django session完成状态保持的方法
Nov 27 Python
Python变量访问权限控制详解
Jun 29 Python
python实现两个字典合并,两个list合并
Dec 02 Python
Jupyter加载文件的实现方法
Apr 14 Python
如何理解Python中包的引入
May 29 Python
Python列表元素删除和remove()方法详解
Jan 04 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中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
javascript prototype 原型链
2009/03/12 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
js实现删除json中指定的元素
2020/09/22 Javascript
Python网站验证码识别
2016/01/25 Python
你应该知道的python列表去重方法
2017/01/17 Python
django实现用户登陆功能详解
2017/12/11 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
Python同时处理多个异常的方法
2020/07/28 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
大四学年自我鉴定
2013/11/13 职场文书
银行实习生的自我评价
2014/01/13 职场文书
小学音乐教学反思
2014/02/05 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书