我想创建一个函数,它接受两组A和B,如果A小于B,则返回True。
def set_less_than(A, B):
Alist = list(A)
Blist = list(B)
ans = []
for index in range(len(A)):
try:
ans.append(Alist[index] < Blist[index])
except TypeError:
ans.append("impossible to compare")
return ans
但是,我该如何处理这个案子, 例如:
A = {0,'b',(0,'a')}和B = {1,'a',(2,-3)}
我想要输出
[真,假,(真,'不可能')]
答案 0 :(得分:0)
这是一个难以回答的问题,因为Scott points out,答案将是荒谬的,因为集合是无序的。即:无法按顺序比较项目。因此,尝试按索引按顺序抓取每个项目随后将无法工作。此外,说字母字符小于另一个字符是没有意义的。同样的事情适用于元组。
但如果这确实是 想要你想做的话,我就是这样做的:
True
或False
值。"impossible"
。
def set_less_than(set_a, set_b):
list_a = list(set_a)
list_b = list(set_b)
ans = []
for index in range(len(list_a)):
if isinstance(list_a[index], int) and isinstance(list_b[index], int):
ans.append(list_a[index] < list_b[index])
else:
ans.append("impossible")
return ans
a = set([0, 'b', (0, 'a')])
b = set([1, 'a', (2, -3)])
answer = set_less_than(a, b)
for a in answer:
print a
在我的情况下,0
与'a'
等进行比较。比较的每个项目都会返回
"impossible"
。