Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. def sublist(lst1,lst2):
  2. for i in range(len(lst1)):
  3. if lst1[i] not in lst2:
  4. return False
  5. for j in range(len(lst2)):
  6. if (lst1[j] in lst2) and (lst2.index(lst1[i+1]) > lst2.index(lst1[i])):
  7. return True
  8.  
  9. def sublist(lst1, lst2):
  10. ls1 = [element for element in lst1 if element in lst2]
  11. ls2 = [element for element in lst2 if element in lst1]
  12. return ls1 == ls2
  13.  
  14. def sublist(ls1, ls2):
  15. '''
  16. >>> sublist([], [1,2,3])
  17. True
  18. >>> sublist([1,2,3,4], [2,5,3])
  19. True
  20. >>> sublist([1,2,3,4], [0,3,2])
  21. False
  22. >>> sublist([1,2,3,4], [1,2,5,6,7,8,5,76,4,3])
  23. False
  24. '''
  25. def get_all_in(one, another):
  26. for element in one:
  27. if element in another:
  28. yield element
  29.  
  30. for x1, x2 in zip(get_all_in(ls1, ls2), get_all_in(ls2, ls1)):
  31. if x1 != x2:
  32. return False
  33.  
  34. return True
  35.  
  36. def sublist1(lst1, lst2):
  37. ls1 = [element for element in lst1 if element in lst2]
  38. ls2 = [element for element in lst2 if element in lst1]
  39. return ls1 == ls2
  40.  
  41.  
  42. def sublist2(lst1, lst2):
  43. def get_all_in(one, another):
  44. for element in one:
  45. if element in another:
  46. yield element
  47. for x1, x2 in zip(get_all_in(lst1, lst2), get_all_in(lst2, lst1)):
  48. if x1 != x2:
  49. return False
  50. return True
  51.  
  52.  
  53. def sublist3(lst1, lst2):
  54. from collections import Counter
  55. c1 = Counter(lst1)
  56. c2 = Counter(lst2)
  57. for item, count in c1.items():
  58. if count > c2[item]:
  59. return False
  60. return True
  61.  
  62.  
  63. l1 = ["a", "b", "c", "c", "c", "d", "e"]
  64. l2 = ["c", "a", "c", "b", "c", "c", "d", "d", "f", "e"]
  65.  
  66. s1 = lambda: sublist1(l1, l2)
  67. s2 = lambda: sublist2(l1, l2)
  68. s3 = lambda: sublist3(l1, l2)
  69.  
  70. from timeit import Timer
  71. t1, t2, t3 = Timer(s1), Timer(s2), Timer(s3)
  72. print(t1.timeit(number=10000)) # => 0.034193423241588035
  73. print(t2.timeit(number=10000)) # => 0.012621842119714115
  74. print(t3.timeit(number=10000)) # => 0.12714286673722477
  75.  
  76. def sublist(lst1, lst2):
  77. return set(lst1) <= set(lst2)
  78.  
  79. list1 = ['1','2']
  80. list2 = ['1','2',3]
  81.  
  82. all(i in list2 for i in list1)
  83.  
  84. def sublist(l1,l2):
  85. s1=" ".join(str(i) for i in l1)
  86. s2=" ".join(str(i) for i in l2)
  87. if s1 in s2:
  88. return True
  89. else:
  90. return False
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement