python中 字符串是怎么比较大小的

作者&投稿:步仇 (若有异议请与网页底部的电邮联系)
Python中字符和数字之间是怎么比较大小的~

任何两个对象都可以比较
相同类型的对象(实例),如果是数字型(int/float/long/complex),则按照简单的大小来比较;如果是非数字型,且类(型)中定义了__cmp__(含__gt__,__lt__等)则按照__cmp__来比较,否则按照地址(id)来比较
不同类型的对象(实例),如果其中一个比较对象是数字型(int/float/long/complex等),则数字型的对象 [1,2], "abc" < (1,2)。
对于自定义的类(型)实例,如果继承自基本类型,则按照基本类型的规则比较(1-3)。否则,old-style class < new-style class, new-style class之间按照类型名顺序比较,old-style class之间按照地址进行比较
bool类型是int的子类,且True=1, False=0,比较时按照1-4来比较,如True > -1, True < 4.2, True < "abc"等
上面的回答是针对Python2.x,3.x的有较大的变化,如str和int比较时会抛出异常等。

回到题目,字符和数字的比较符合规则3,所以数字<字符。举个例子,如100和'a'(ord('a')=97),有
100<'a'

字符串也好,列表也好,都是可迭代对象。
先比较两个对象的第0个元素,大小关系即为对象的大小关系,如果相等则继续比较后续元素,先终止迭代的认为是小的。

字符串按位比较,两个字符串第一位字符的ascii码谁大,字符串就大,不再比较后面的;第一个字符相同的情况下,就比第二个字符串,以此类推。

举例如下:

1、创建python文件,testcompare.py;

2、编写字符串比较脚本;

print("A"<"B")

print("Aa"<"Ab")

print("ABC"=="abc")

print("abc"=="abc")

3、选择‘在终端中运行Python文件’;

4、查看执行结果,输出字符串的比较;



字符串按位比较,两个字符串第一位字符的ascii码谁大,字符串就大,不再比较后面的;第一个字符相同就比第二个字符串,以此类推,需要注意的是空格的ascii码是32,空(null)的ascii码是0,比如:

s1='a bc',

s2='a bc ',

则s2>s1。

扩展资料:

当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。

如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作float来求值。否则就被当作整数。

该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。

参考资料来源:百度百科-字符串



字符串按位比较,两个字符串第一位字符的ascii码谁大,字符串就大,不再比较后面的;第一个字符相同就比第二个字符串,以此类推,需要注意的是空格的ascii码是32,空(null)的ascii码是0,比如:
s1='a bc',
s2='a bc ',
则s2>s1。

从第一个字符串开始比较,比较的是字符对应的ASCII码大小,如果两年字符串字符相同,但是一个字符串的字符多,则多的大,比如:
"ABC"小于"ABCD"
"ABD"大于"ABC"

应该是按照字母顺序比较的

a=("Apollo","Hermes","Hermesa","Athena","Aphrodite","Dionysus")

print(min(a))

print(max(a))

结果是:

Aphrodite

Hermesa

  1. 最小值Aphrodite的得出结果,由第一个字母挨个比较,"Apollo","Athena","Aphrodite",再由第二个字母比较"Apollo","Aphrodite"(因为p<t,ascii码或者字母顺序,可试着写个大小写程序比较)最后“Aphrodite”(因为h<o)

  2. 最大值的得出结果同“1”,且“空”小于“非空”("Hermes","Hermesa")




西城区13898117033: python中 字符串是怎么比较大小的 -
夔甘保胎: 从第一个字符串开始比较,比较的是字符对应的ASCII码大小,如果两年字符串字符相同,但是一个字符串的字符多,则多的大,比如:"ABC"小于"ABCD""ABD"大于"ABC"......

西城区13898117033: Python怎么比较字符串跟数字大小 -
夔甘保胎: 任何两个对象都可以比较 相同类型的对象(实例),如果是数字型(int/float/long/complex),则按照简单的大小来比较;如果是非数字型

西城区13898117033: python列表值是怎么比较大小的? -
夔甘保胎: 肯定不是相加 但有可能是从左到右依次比较(前面都相等再比较下一个) 话说回来list比较没意义,如果你想要有意义的结果,可以自定义类型,并重写比较的方法

西城区13898117033: 在Python中如何从字符串提取一些子字符串并比较它们的长短? -
夔甘保胎: 简单说下思想吧. 'az/c/bo/bo/beggh/akl' 如以上实例,在字符串中找到分割点,判断子字符串大小,返回最大的那个字符串 完

西城区13898117033: Python求解答过程思路 -
夔甘保胎: 47. 字符串比大小,显然a>b成立,执行if中的语句,结果是ab字符串互换,c变为了watermelon138.外层循环c依次遍历了[1,2,3],[4,5,6],[7,8,9],内层循环依次遍历了列表中的元素,所以s是将所有元素求和,结果是45631.get方法默认应返回0

西城区13898117033: 请问哈这个python中的字符串比较是怎么比较的? -
夔甘保胎: 通常的'alpha' 是小于 'beta'的,不知道你这个怎么来的.比较的原则是按照ASCII的顺序来的.

西城区13898117033: 求助:python中如何确定字符串的长度 -
夔甘保胎: 什么叫确定字符串的长度, len(str)或str.__len__()可获取字符串长度

西城区13898117033: python中怎么用循环输出一个很长的字符串 -
夔甘保胎: str1="" str_list=[] for i in range(5): N=input("please enter the number:") str1+=str(N) str_list.append(str(N)) print str1 print str_list

西城区13898117033: 数据库中的字符串是怎样比较大小的 -
夔甘保胎: 字符串比较大小不是比较长短 从第一个字符开始比较,相同相等,遇到不同就比较出来了aabcd

西城区13898117033: python里如下两个字符串比较是怎么实现的? -
夔甘保胎: 直接比较字符的ascii码大小啊

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网