Odpowiedź:
jedyne co mi przychodzi do głowy to coś takiego
a = ['Kacper', 'Filip', 'Zosia']
b = ['Kacper']
for item in b:
while item in a:
a.remove(item)
print(a)
# Ta linijka zwraca element x dla każdego x w liście a, jeżeli ten x nie jest w b, następnie łączy to w listę
c = [x for x in a if x not in b]
# Używasz metody symmetric_difference na secie a wykluczając elementy z setu b i z wyniku tworzysz nową listę
dif = [set(a).symmetric_difference(set(b))]
print(dif)
print(c)
Wyjaśnienie:
W obu metodach musisz stworzyć nową listę, w komentarzach napisałem co się dzieje w danej linijce.
Co do szybkości wydaje mi się, że druga metoda może być szybsza, jednak nie mam pewności. Wybierz tą, która odpowiada Ci najbardziej : )
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Odpowiedź:
jedyne co mi przychodzi do głowy to coś takiego
a = ['Kacper', 'Filip', 'Zosia']
b = ['Kacper']
for item in b:
while item in a:
a.remove(item)
print(a)
Odpowiedź:
a = ['Kacper', 'Filip', 'Zosia']
b = ['Kacper']
# Ta linijka zwraca element x dla każdego x w liście a, jeżeli ten x nie jest w b, następnie łączy to w listę
c = [x for x in a if x not in b]
# Używasz metody symmetric_difference na secie a wykluczając elementy z setu b i z wyniku tworzysz nową listę
dif = [set(a).symmetric_difference(set(b))]
print(dif)
print(c)
Wyjaśnienie:
W obu metodach musisz stworzyć nową listę, w komentarzach napisałem co się dzieje w danej linijce.
Co do szybkości wydaje mi się, że druga metoda może być szybsza, jednak nie mam pewności. Wybierz tą, która odpowiada Ci najbardziej : )