聊聊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实现的一个简单LRU cache
Sep 26 Python
python实现简单的计时器功能函数
Mar 14 Python
使用Python中的线程进行网络编程的入门教程
Apr 15 Python
Python Socket实现简单TCP Server/client功能示例
Aug 05 Python
Python实现生成随机日期字符串的方法示例
Dec 25 Python
pandas获取groupby分组里最大值所在的行方法
Apr 20 Python
python实现搜索文本文件内容脚本
Jun 22 Python
python远程邮件控制电脑升级版
May 23 Python
在keras中获取某一层上的feature map实例
Jan 24 Python
Android Q之气泡弹窗的实现示例
Jun 23 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 Python
Python如何让字典保持有序排列
Apr 29 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实现的功能是显示8条基色色带
2006/10/09 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
php中yii框架实例用法
2020/12/22 PHP
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
炫酷的js手风琴效果
2016/10/13 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
JS实现加载时锁定HTML页面元素的方法
2017/06/24 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
Vuex实现简单购物车
2021/01/10 Vue.js
python基础教程之获取本机ip数据包示例
2014/02/10 Python
python的re模块应用实例
2014/09/26 Python
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
python3下载抖音视频的完整代码
2019/06/05 Python
Python timeit模块的使用实践
2020/01/13 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
电气个人求职信范文
2014/02/04 职场文书
期中考试反思800字
2014/05/01 职场文书
应届生找工作求职信
2014/06/24 职场文书
伏羲庙导游词
2015/02/09 职场文书
学生会个人总结范文
2015/02/15 职场文书