Python移除repeat elemen

2024-10-03 04:36:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两张单子。如何定义一个函数“remove\u repeat\u element”来删除重复元素?你知道吗

def remove_repeat_element(a, b):
    ... ...

a = ['bd09fdf7-918e-4a5e-8338-0f6fe78fd238']
b = ['bd09fdf7-918e-4a5e-8338-0f6fe78fd238', '3c26f383-da50-446c-8613-64e1068bd57e']

result = remove_repeat_element(a, b)
print result
>>> ['3c26f383-da50-446c-8613-64e1068bd57e']

有人能给我一些建议吗?? 谢谢!你知道吗


Tags: 函数元素定义defelementresult建议remove
3条回答

您可以使用sets

>>> a = ['bd09fdf7-918e-4a5e-8338-0f6fe78fd238']
>>> b = ['bd09fdf7-918e-4a5e-8338-0f6fe78fd238', '3c26f383-da50-446c-8613-64e1068bd57e']
>>> list(set(b) - set(a))
['3c26f383-da50-446c-8613-64e1068bd57e']
return [el for el in b if el not in a]

我的建议是:

c = [x for x in b if x not in a]

作为一个list comprehension,写起来非常简单,效率也很高。你知道吗

希望这有帮助!你知道吗

更新

要更有效地检查成员身份,请使用set而不是list。你知道吗

a = set(a)
c = [x for x in b if x not in a]

这会更快,更不用说在list很大时的改进了。你知道吗

相关问题 更多 >