gpt4 book ai didi

python - Matlab 相当于 Python 的 `not in` 是什么?

转载 作者:太空狗 更新时间:2023-10-29 22:09:05 25 4
gpt4 key购买 nike

在 Python 中,可以使用以下方法获取 lst1 独有的元素:

lst1=['a','b','c']
lst2=['c','d','e']
lst3=[]
for i in lst1:
if i not in lst2:
lst3.append(i)

什么是 Matlab 等价物?

最佳答案

您正在寻找 MATLAB 的 setdiff -

setdiff(lst1,lst2)

sample 运行-

>> lst1={'a','b','c'};
>> lst2={'c','d','e'};
>> setdiff(lst1,lst2)
ans =
'a' 'b'

用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']

事实上,您在 Python 的 NumPy module 中有 setdiff同样,作为numpy.setdiff1d .等效的实现是 -

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']

关于python - Matlab 相当于 Python 的 `not in` 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34768388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com