Szukasz MATLAB na setdiff
-
setdiff(lst1,lst2)
run Sample -
>> lst1={'a','b','c'};
>> lst2={'c','d','e'};
>> setdiff(lst1,lst2)
ans =
'a' 'b'
Sprawdź z Pythona run -
In [161]: lst1=['a','b','c']
...: lst2=['c','d','e']
...: lst3=[]
...: for i in lst1:
...: if i not in lst2:
...: lst3.append(i)
...:
In [162]: lst3
Out[162]: ['a', 'b']
w rzeczywistości masz setdiff
w Pythona NumPy module
jako cóż, jako numpy.setdiff1d
. Równowartość realizacja z nim będzie -
In [166]: import numpy as np
In [167]: np.setdiff1d(lst1,lst2) # Output as an array
Out[167]:
array(['a', 'b'],
dtype='|S1')
In [168]: np.setdiff1d(lst1,lst2).tolist() # Output as list
Out[168]: ['a', 'b']
także: 'set (lst1) - zestaw (lst2)' – gauteh
@gauteh Dopóki nie dbają o liczbie powtórzeń każdego elementu. np. 'set()' nie działałoby poprawnie, jeśli 'lst1 = ['a', 'a', 'b', 'c']'. – dwanderson