Python. Простые алгоритмы
- Python. Простые алгоритмы
- Просмотров: 364
17. Найти числа, которые есть в первом списке, и нет во втором
Даны два списка:
a = [ 1,2,3,4,5,6]
b = [7,8,9,1,2,3,11,12,12,3]
Способ 1. Использование двух циклов for
n = len(a)
m = len(b)
c=[]
for i in range(n):
for j in range(m):
if a[i]== b[j]:
break
else:
if j == m-1:
c.append(a[i])
print(c)
# [4, 5, 6]
Временная сложность O (n * m)
Способ 2. Использование операции in
c=[]
for x in a:
if x not in b:
c.append(x)
print(c)
# [4, 5, 6]
Временная сложность O (n)
Способ 3. Использование словаря dict()
s = dict()
for i in range(m):
s[b[i]] = 1
c = []
for i in range(n):
if a[i] not in s.keys():
c.append(a[i])
print(c)
# [4, 5, 6]
Временная сложность O(n)