聊聊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编写简单爬虫资料汇总
Mar 22 Python
python中的break、continue、exit()、pass全面解析
Aug 05 Python
Python中的并发处理之asyncio包使用的详解
Apr 03 Python
python取数作为临时极大值(极小值)的方法
Oct 15 Python
5分钟 Pipenv 上手指南
Dec 20 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
python中数据库like模糊查询方式
Mar 02 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
基于matplotlib xticks用法详解
Apr 16 Python
Pandas之read_csv()读取文件跳过报错行的解决
Apr 21 Python
Python中的Cookie模块如何使用
Jun 04 Python
Pygame Draw绘图函数的具体使用
Nov 17 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把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
javascript面向对象之Javascript 继承
2010/05/04 Javascript
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
Python语言生成水仙花数代码示例
2017/12/18 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
详解Python实现进度条的4种方式
2020/01/15 Python
pytorch中的inference使用实例
2020/02/20 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
意大利团购网站:Groupon意大利
2016/10/11 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
大学生创业计划书的用途
2014/01/08 职场文书
单位创先争优活动方案
2014/01/26 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
倡议书范文格式
2014/05/12 职场文书
大学生找工作求职信
2014/07/09 职场文书