聊聊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 相关文章推荐
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
python实现简单socket通信的方法
Apr 19 Python
Python调用微信公众平台接口操作示例
Jul 08 Python
python的unittest测试类代码实例
Dec 07 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
Django1.9 加载通过ImageField上传的图片方法
May 25 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
Aug 08 Python
django 多数据库及分库实现方式
Apr 01 Python
对python中arange()和linspace()的区别说明
May 03 Python
详解selenium + chromedriver 被反爬的解决方法
Oct 28 Python
python推导式的使用方法实例
Feb 28 Python
python 解决微分方程的操作(数值解法)
May 26 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
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
PHP采集相关教程之一 CURL函数库
2010/02/15 PHP
PHP6新特性分析
2016/03/03 PHP
PHP自定义多进制的方法
2016/11/03 PHP
Yii框架表单提交验证功能分析
2017/01/07 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
Laravel下生成验证码的类
2017/11/15 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
vue实现商城购物车功能
2017/11/27 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python实现发送邮件功能代码
2017/12/14 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
Python 实现进度条的六种方式
2021/01/06 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
制衣厂各岗位职责
2013/12/02 职场文书
行政副总岗位职责
2014/02/23 职场文书
投资意向书范本
2014/04/01 职场文书
产假请假条
2014/04/10 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js