TypeError:“dict”和“dict”实例之间不支持“<”

list的< 、>  、==

list1== list2, “==”只有成员、成员位置都相同时才返回True

对于,==和!=两个操作符,如果两个列表的大小不想等,则可以直接返回False或者True的结果,无须再进行其他比较。

L1 = [2, ('a', 10), 2]
L2 = [2, ('a', 10)]
print(L1 < L2)  # False
print(L1 == L2)  # False
print(L1 > L2)  # True

 

如果list中放入的是数字类型的

  • 比较其中数字的大小。如果一个list中有多个数字,从第一个数字比较,如果第一个数字相同,就比较第二个数字的大小
  • 如果list中有dict,在list中其他元素都相同的情况下,比较会出错,因为dict实例之间不支持这样比较。
列表大小相同的情况下,看其中的元素,L1和L2的第一个元素都是1,然后在tuple中,tuple的第二个算是L2的是2,大一些,所以【L1<L2】为True
# python比较两个列表大小
L1 = [1, ('a', 1)]
L2 = [1, ('a', 2)]
print(L1 < L2)  # True
print(L1 == L2) # False
print(L1 > L2)  # False
# python比较两个列表大小
L1 = [1, ('a', 10)]
L2 = [1, ('a', 2)]
print(L1 < L2)  # False
print(L1 == L2)  # False
print(L1 > L2)  # True
L1 = [1, ('a', 10)]
L2 = [2, ('a', 20)]
print(L1 < L2)  # True
print(L1 == L2)  # False
print(L1 > L2)  # False

当list中含有dict的时候:

​​​​​​​L1 = [9, 13, {'体重': '88公斤'}]
L2 = [9, 14, {'体重': '88公斤'}]
print(L1 < L2)  # True
print(L1 == L2)  # False
print(L1 > L2)  # False
L1 = [9, 13, {'体重': '88公斤'}]
L2 = [14, 16, {'体重': '88公斤'}]
print(L1 < L2) # True 
print(L1 == L2) # False 
print(L1 > L2) # False
L1 = [9, 13, {'体重': '88公斤'}]
L2 = [9, 13, {'身高体重日期': '昨天'}]
TypeError: '<' not supported between instances of 'dict' and 'dict'

L1 = [9, 13, {'体重': '88公斤'}]
L2 = [9, 19, {'身高体重日期': '昨天'}]
print(L1 < L2) # True
print(L1 == L2) # False
print(L1 > L2) # False
L1 = [9, 13, {'体重': '88公斤'}]
L2 = [14, 16, {'身高体重日期': '昨天'}]
print(L1 < L2) # True
print(L1 == L2) # False
print(L1 > L2) # False
L1 = [9, 21, {'体重': '88公斤'}]
L2 = [14, 16, {'身高体重日期': '昨天'}]
print(L1 < L2) # True
print(L1 == L2) # False
​​​​​​​print(L1 > L2) # False
L1 = [15, 1, {'体重': '88公斤'}]
L2 = [14, 16, {'身高体重日期': '昨天'}]
print(L1 < L2)  # False
print(L1 == L2)  # False
print(L1 > L2)  # True

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐