Skip to content

Commit 06caa49

Browse files
committed
增加了collections.Counter()方法
1 parent 971b6de commit 06caa49

2 files changed

Lines changed: 37 additions & 0 deletions

File tree

same_element_in_list.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,12 @@
88

99
将重复元素的列表中的重复元素进行统计,并将统计结果放在dictionary中,key为元素,value为该元素的个数
1010

11+
**更新此步方法:**上述步骤的功能,能够通过另外一个方法实现,即collections.Counter()
12+
1113
然后通过for获取key,得到一个新的列表,就是没有重复元素的列表
1214

15+
16+
1317
#解决(Python)
1418

1519
#!/usr/bin/env python
@@ -22,6 +26,14 @@
2226
number = one_list.count(e) #数出某个元素的个数
2327
element_number[e] = number #生成类似:{1:1,2:3,3:5}的结果,key-element,value-元素的个数
2428
return element_number
29+
30+
#应用collections.Counter()实现count_element(one_list)函数功能,为了便于调试和说明,在另外一个函数里面使用
31+
32+
from collections import Counter
33+
34+
def count_element2(one_list):
35+
return Counter(one_list)
36+
2537

2638
def no_repeat_element(element_number): #element_number是count_element(one_list)的返回值
2739
no_repeat_list = [key for key in element_number]

same_element_in_list.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ def count_element(one_list):
1313
element_number[e] = number #生成类似:{1:1,2:3,3:5}的结果,key-element,value-元素的个数
1414
return element_number
1515

16+
#函数count_element(one_list)的功能,可以用collections模块中的Counter完成
17+
18+
from collections import Counter
19+
20+
def count_element2(one_list):
21+
return Counter(one_list)
22+
1623
def no_repeat_element(element_number): #element_number是count_element(one_list)的返回值
1724
no_repeat_list = [key for key in element_number]
1825
return no_repeat_list
@@ -36,3 +43,21 @@ def no_repeat_element(element_number): #element_number是count_element(one_
3643
print "another way is:"
3744
no_repeat2 = list(set(ls))
3845
print no_repeat2
46+
print "-------"
47+
el_num2=count_element2(ls)
48+
print el_num2
49+
no_repeat = no_repeat_element(el_num)
50+
print no_repeat
51+
52+
"""
53+
the result is :
54+
55+
{'a': 2, 'c': 2, 'b': 3}
56+
['a', 'c', 'b']
57+
another way is:
58+
['a', 'c', 'b']
59+
-------
60+
Counter({'b': 3, 'a': 2, 'c': 2})
61+
['a', 'c', 'b']
62+
63+
"""

0 commit comments

Comments
 (0)