Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sublist(lst1,lst2):
- for i in range(len(lst1)):
- if lst1[i] not in lst2:
- return False
- for j in range(len(lst2)):
- if (lst1[j] in lst2) and (lst2.index(lst1[i+1]) > lst2.index(lst1[i])):
- return True
- def sublist(lst1, lst2):
- ls1 = [element for element in lst1 if element in lst2]
- ls2 = [element for element in lst2 if element in lst1]
- return ls1 == ls2
- def sublist(ls1, ls2):
- '''
- >>> sublist([], [1,2,3])
- True
- >>> sublist([1,2,3,4], [2,5,3])
- True
- >>> sublist([1,2,3,4], [0,3,2])
- False
- >>> sublist([1,2,3,4], [1,2,5,6,7,8,5,76,4,3])
- False
- '''
- def get_all_in(one, another):
- for element in one:
- if element in another:
- yield element
- for x1, x2 in zip(get_all_in(ls1, ls2), get_all_in(ls2, ls1)):
- if x1 != x2:
- return False
- return True
- def sublist1(lst1, lst2):
- ls1 = [element for element in lst1 if element in lst2]
- ls2 = [element for element in lst2 if element in lst1]
- return ls1 == ls2
- def sublist2(lst1, lst2):
- def get_all_in(one, another):
- for element in one:
- if element in another:
- yield element
- for x1, x2 in zip(get_all_in(lst1, lst2), get_all_in(lst2, lst1)):
- if x1 != x2:
- return False
- return True
- def sublist3(lst1, lst2):
- from collections import Counter
- c1 = Counter(lst1)
- c2 = Counter(lst2)
- for item, count in c1.items():
- if count > c2[item]:
- return False
- return True
- l1 = ["a", "b", "c", "c", "c", "d", "e"]
- l2 = ["c", "a", "c", "b", "c", "c", "d", "d", "f", "e"]
- s1 = lambda: sublist1(l1, l2)
- s2 = lambda: sublist2(l1, l2)
- s3 = lambda: sublist3(l1, l2)
- from timeit import Timer
- t1, t2, t3 = Timer(s1), Timer(s2), Timer(s3)
- print(t1.timeit(number=10000)) # => 0.034193423241588035
- print(t2.timeit(number=10000)) # => 0.012621842119714115
- print(t3.timeit(number=10000)) # => 0.12714286673722477
- def sublist(lst1, lst2):
- return set(lst1) <= set(lst2)
- list1 = ['1','2']
- list2 = ['1','2',3]
- all(i in list2 for i in list1)
- def sublist(l1,l2):
- s1=" ".join(str(i) for i in l1)
- s2=" ".join(str(i) for i in l2)
- if s1 in s2:
- return True
- else:
- return False
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement