聊聊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 内置函数complex详解
Oct 23 Python
python判断数字是否是超级素数幂
Sep 27 Python
解决python中无法自动补全代码的问题
Dec 04 Python
对python遍历文件夹中的所有jpg文件的实例详解
Dec 08 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
Python文件时间操作步骤代码详解
Apr 13 Python
Python读取图像并显示灰度图的实现
Dec 01 Python
jupyter notebook更换皮肤主题的实现
Jan 07 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
Jun 11 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
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
PHP中其实也可以用方法链
2011/11/10 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
解决vue打包 npm run build-test突然不动了的问题
2020/11/13 Javascript
Python中的map、reduce和filter浅析
2014/04/26 Python
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
举例讲解Python中is和id的用法
2015/04/03 Python
Python实现批量转换文件编码的方法
2015/07/28 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
Python用字典构建多级菜单功能
2019/07/11 Python
django如何实现视图重定向
2019/07/24 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
解释一下钝化(Swap out)
2016/12/26 面试题
生产副总岗位职责
2013/11/28 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
植物生产学专业求职信
2014/08/08 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
美丽心灵观后感
2015/06/01 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang