由于数字的大小比较特别容易,这里就不多说。
字符串
单个字符的比较
# python中的英文字母所对应的值为:
# A-Z ------> 65-90
# a-z ------> 97-122
print(ord('A')) # 65
print(chr(65)) # A
print(ord('Z')) # 90
print(chr(90)) # Z
print(ord('a')) # 97
print(chr(97)) # a
print(ord('z')) # 122
print(chr(122)) # z
# 字符不能和数字直接比较,会报错
print("a" > 120)
# Traceback (most recent call last):
# File "<pyshell#35>", line 1, in <module>
# print("a">120)
#TypeError: '>' not supported between instances of 'str' and 'int'
利用python内置函数ord可以将数值转换为对应的字符。
利用python内置函数chr可以将字符转换为所对应的ASCALL值。
多个字符的比较
# print("我们" > "你们")
# True
# print(ord("我"))
# 25105
# print(ord("你"))
# 20320
# print("afg" > 'bfd')
# False
当多个字符比较的时候,首先会比较第一位的字符对应的ASCALL值,大的则大,小的则小。当第一位相同的时候,会比较第二位,同上。如果能够比较出大小来,返回结果,不能的话,就继续往后比,直到比较出结果来。
列表
a = ["a", 1, "我"]
b = ["b", 0, "你"]
print(a > b) # False
b = ["a", 0, "你"]
print(a > b) # Ture
b = a = ["a", 1, "我", 50]
从第一个元素顺序开始比较,如果相等,则继续,返回第一个不想等元素比较的结果。如果所有元素比较均相等,则长的列表大,一样长则两列表相等
元组
元组的比较与列表的比较基本一样
字典
字典之间不能比较大小
a = {"name":"xiaoming", "age":15}
b = {"name":"xiaohong","age":16}
print(a>b)
#Traceback (most recent call last):
# File "<pyshell#38>", line 1, in <module>
# print(a>b)
#TypeError: '>' not supported between instances of 'dict' and 'dict'