聊聊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字节码
Feb 07 Python
python实现多线程网页下载器
Apr 15 Python
Python定时任务工具之APScheduler使用方式
Jul 24 Python
Python英文文章词频统计(14份剑桥真题词频统计)
Oct 13 Python
Python谱减法语音降噪实例
Dec 18 Python
python列表返回重复数据的下标
Feb 10 Python
tensorflow 分类损失函数使用小记
Feb 18 Python
Django 返回json数据的实现示例
Mar 05 Python
python数据类型强制转换实例详解
Jun 22 Python
Django filter动态过滤与排序实现过程解析
Nov 26 Python
Django框架实现在线考试系统的示例代码
Nov 30 Python
PyCharm2020.3.2安装超详细教程
Feb 08 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递归函数返回值使用方法
2013/02/18 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
2019/01/15 jQuery
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
Python内置函数之filter map reduce介绍
2014/11/30 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
python实现同一局域网下传输图片
2020/03/20 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
速比涛英国官网:Speedo英国
2019/07/15 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
如何使用PHP session
2015/04/21 面试题
大学生党课思想汇报
2013/12/29 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
植物园观后感
2015/06/11 职场文书
公司规章制度范本
2015/08/03 职场文书
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle