Yan*_*nis 2 python comparison tuples
根据这个:
使用相应元素的比较,按字典顺序比较元组和列表.这意味着要比较相等,每个元素必须比较相等,并且两个序列必须是相同类型并且具有相同的长度.
如果不相等,则序列的排序与它们的第一个不同元素相同.例如,cmp([1,2,x],[1,2,y])返回与cmp(x,y)相同的值.如果相应的元素不存在,则首先排序较短的序列(例如,[1,2] <[1,2,3]).
如果我理解正确的话
(a, b, c) < (d, e, f)
Run Code Online (Sandbox Code Playgroud)
给出真的如果
a < d and b < e and c < f
Run Code Online (Sandbox Code Playgroud)
为什么
(1, 2, 3) < (2, 0, 4)
Run Code Online (Sandbox Code Playgroud)
真的吗?
我该怎么做这样的比较?
你的理解是有缺陷的.它不是and- 这是一个级联比较.
a < d or (a == d and b < e) or (a == d and b == e and c < f)
Run Code Online (Sandbox Code Playgroud)
另一种理解任意长度元组的方法......
def tuple_less_than(tuple1, tuple2):
for item1, item2 in zip(tuple1, tuple2):
if item1 != item2:
return item1 < item2
return len(tuple1) < len(tuple2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1285 次 |
| 最近记录: |