聊聊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 17 Python
用实例解释Python中的继承和多态的概念
Apr 27 Python
使用Python脚本生成随机IP的简单方法
Jul 30 Python
python中模块的__all__属性详解
Oct 26 Python
通过python顺序修改文件名字的方法
Jul 11 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
Python PIL图片添加字体的例子
Aug 22 Python
Pycharm+Python工程,引用子模块的实现
Mar 09 Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 Python
python 实现朴素贝叶斯算法的示例
Sep 30 Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
Apr 12 Python
Python学习之异常中的finally使用详解
Mar 16 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
php 中英文语言转换类
2011/09/07 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
2013/04/24 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
2016/08/05 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
sublime text配置node.js调试(图文教程)
2017/11/23 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python and、or以及and-or语法总结
2015/04/14 Python
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python随机数分布random均匀分布实例
2019/11/27 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
Python接口自动化测试的实现
2020/08/28 Python
python os.rename实例用法详解
2020/12/06 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
法学院方阵解说词
2014/01/29 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
浅谈Python 中的复数问题
2021/05/19 Python
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL
python在package下继续嵌套一个package
2022/04/14 Python