0
A
回答
1
使用Counter
和defaultdict
從collections
:
from collections import defaultdict
from collections import Counter
A = [1 ,2 ,3 ,2 ,5, 1]
# create a mapping from each item to it's count
counter = Counter(A)
# now reverse the mapping by using a defaultdict for convenience
countmap = defaultdict(list)
for k, v in counter.iteritems():
countmap[v].append(k)
# take all values that occurred once
print countmap[1] # [3, 5]
如果你感興趣的映射是什麼,你可以打印出來:
的counter
:
Counter({1: 2, 2: 2, 3: 1, 5: 1})
的countmap
:
defaultdict(<type 'list'>, {1: [3, 5], 2: [1, 2]})
手動創建您可以使用此功能的計數器:
def make_counter(lst):
counter = dict()
for item in lst:
if item in counter:
counter[item] += 1
else:
counter[item] = 1
return counter
make_counter(A)
輸出:
{1: 2, 2: 2, 3: 1, 5: 1}
2
可以使用count()
方法從list對象獲得同等的計數,以1:
>>> A=[1, 2, 3, 2, 5, 1]
>>> unique=[i for i in A if A.count(i)==1]
>>> unique
[3, 5]
可替代地從collections模塊Counter()
類可用於:
A = [1, 2, 3, 2, 5, 1]
c = Counter(A)
print [key for key, count in c.iteritems() if count==1]
0
#!/usr/bin/python3
from collections import Counter
from functools import reduce
# Initialize Variable
A = [1, 2, 3, 2, 5, 1]
# iterating style
result1 = [key for key, count in Counter(A).items() if count == 1]
# functional style
result2 = reduce(
lambda acc, pair: acc + [pair[0] if pair[1] == 1 else acc,
Counter(A).items(), [])
相關問題
- 1. 如何獲得OrderedDicts列表中重複元素的索引?
- 2. 如何獲得列表中非零元素的索引列表?
- 3. 如何從Scheme的列表中刪除非重複的元素?
- 4. 如何得到list元素是列表的重複元素的索引?
- 5. 如何獲得Watin元素列表?
- 6. 我如何獲得列表元素
- 7. Erlang重複元素列表
- 8. 如何獲得每個元素的第二元素列表
- 9. 如何獲得表中元素的xpath
- 10. 通用列表中的重複元素
- 11. 刪除列表中的重複元素
- 12. 刪除列表中的重複元素
- 13. 列表視圖中的重複元素
- 14. 創建固定大小元素列表中的非重複排列列表
- 15. 只從列表中檢索非重複元素
- 16. elixir-lang在列表中查找非重複元素
- 17. 如何獲得重複值的XML元素的數量在WPF
- 18. 如何獲得R中列表中的元素?
- 19. WPF - 從列表中重複元素
- 20. 如何迭代重複Python中的每個元素的列表
- 21. 如何對付列表中的重複的元素在Haskell
- 22. 如何獲得宏重複單一元素的索引
- 23. 使用XSLT連接非重複元素和重複元素
- 24. 如何獲得每一個無序的元素對,而不用重複從兩個列表中懶得?
- 25. 如何在列表中找到重複的元素?
- 26. 如何用Python中的重複元素修剪列表?
- 27. 如何從numpy數組列表中刪除重複的元素?
- 28. 如何使用python消除列表中的重複元素?
- 29. 如何從列表中刪除重複的無序元素?
- 30. 從列表中獲取重複的元素
好。謝謝。 Wil試試吧.. – learner123
嗨Reut, 我無法使用(計數器): 從集合中導入計數器 因爲我在第三方軟件包Abaqus中使用它作爲腳本。 你是否可以用enumerate()代替counter?? – learner123
@ learner123我添加了代碼來創建一個類似計數器的映射。 –