我有两个列表,需要根据比较结果返回true或false。我有以下规则。
- 检查元素顺序,元素不需要位于精确的索引
- 列表中不应有额外的非空元素
例如:
list1[a','b','','d']和list2[a','b','d']-这应该真正的list1["a","b",","d"]和list2["a,"b","c",d"]-这应该是错误
list1[‘a’,'b','d','',']和list2[‘a','b],'d'错误
list1[‘a’,'b','d','',']和list2[‘a','b],'d'真实
你可以试试这个:
def check_lst(lst1, lst2):
lst1 = [string for string in lst1 if string != ""]
lst2 = [string for string in lst2 if string != ""]
return lst1 == lst2
print(check_lst(['a','b','','','d'], ['a','b','c','d']))
输出False
函数的前两行所做的是从列表中删除所有空字符串。
然后,我使用一个简单的if语句来检查这两个列表是否匹配!
以下是我尝试过的:
def matcher(l1, l2):
l1 = ' '.join(l1).split()
l2 = ' '.join(l2).split()
if l1 == l2:
return True
else:
return False
print(matcher(['a', 'b', 'c', 'd'], ['d', 'a', 'b', 'c', '']))
输出:False
最后也没有空元素