Siete alla ricerca di MATLAB setdiff
-
setdiff(lst1,lst2)
corsa del campione -
>> lst1={'a','b','c'};
>> lst2={'c','d','e'};
>> setdiff(lst1,lst2)
ans =
'a' 'b'
Verificare con run Python -
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']
In realtà, si hanno setdiff
in Python di NumPy module
come bene, come numpy.setdiff1d
. L'implementazione equivalente sarebbe -
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']
anche: 'set (LST1) - set (LST2)' – gauteh
@gauteh Finché non si preoccupano di numero di ripetizioni di ogni elemento. per esempio 'set()' non funzionerebbe correttamente se 'lst1 = ['a', 'a', 'b', 'c']'. – dwanderson