聊聊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查找第k小元素代码分享
Dec 18 Python
通过Python使用saltstack生成服务器资产清单
Mar 01 Python
Python+微信接口实现运维报警
Aug 27 Python
关于Django显示时间你应该知道的一些问题
Dec 25 Python
Numpy数组的保存与读取方法
Apr 04 Python
python验证码识别教程之滑动验证码
Jun 04 Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 Python
python try except 捕获所有异常的实例
Oct 18 Python
浅谈python脚本设置运行参数的方法
Dec 03 Python
DES加密解密算法之python实现版(图文并茂)
Dec 06 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 Python
Python *args和**kwargs用法实例解析
Mar 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连接SQLServer2005方法及代码
2013/12/26 PHP
php反射类ReflectionClass用法分析
2016/05/12 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
DWR Ext 加载数据
2009/03/22 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
JS简单实现数组去重的方法分析
2017/10/14 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
python下载文件时显示下载进度的方法
2015/04/02 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
Python使用functools实现注解同步方法
2018/02/06 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
孝敬父母的演讲稿
2014/05/14 职场文书
环保建议书600字
2014/05/14 职场文书
护林防火标语
2014/06/27 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers
python引入其他文件夹下的py文件具体方法
2021/05/23 Python
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP