擅长:python、mysql、java
<p>下面是您需要的代码片段:</p>
<pre><code>import numpy
class AdminInfo:
def __init__(self, **kwargs):
[setattr(self, key, kwargs[key]) for key in kwargs]
def remove_duplicated(l):
numpy.array(l)[numpy.unique(numpy.array([user.username for user in l]), return_index=True)[1]].tolist()
if __name__ == '__main__':
start_list = [
AdminInfo(username='abc', is_admin=False),
AdminInfo(username='cde', is_admin=False),
AdminInfo(username='efg', is_admin=False),
AdminInfo(username='hij', is_admin=True),
AdminInfo(username='jkl', is_admin=False),
AdminInfo(username='abc', is_admin=False),
AdminInfo(username='xyz', is_admin=False)
]
final_list = remove_duplicated(start_list)
assert len(start_list) == len(final_list) + 1
assert [user.username for user in start_list].count("abc") == 2
assert [user.username for user in final_list].count("abc") == 1
</code></pre>
<p>使用numpy阵列,此解决方案更适合于大量数据</p>