在Python中,找出列表中相同的素可以通过以下几种方法:
1. 使用集合(set):
python
def find_duplicates(lst):
return set([x for x in lst if lst.count(x) > 1])
2. 使用字典(dict)记录素出现次数:
python
def find_duplicates(lst):
d = {}
for i in lst:
if i in d:
d[i] += 1
else:
d[i] = 1
return [k for k, v in d.items() if v > 1]
3. 使用列表推导式:
python
def find_duplicates(lst):
return [x for x in lst if lst.count(x) > 1]
4. 使用`Counter`类从`collections`模块:
python
from collections import Counter
def find_duplicates(lst):
count = Counter(lst)
return [key for key, value in count.items() if value > 1]
5. 使用`numpy`库的`where`和`argwhere`方法:
python
import numpy as np
def find_duplicates(lst):
a = np.array(lst)
eq_letter = np.where(a == a)
return eq_letter
以上方法都可以找出列表中的重复素。选择哪一种方法取决于你的具体需求和列表的大小。需要注意的是,使用集合方法去重后,你将无法知道哪些素是重复的。如果你需要知道每个素重复的次数,可以使用`Counter`类
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/44321.html