问题描述:
代码示例一:
import collections
class Solution(object):
def findPairs(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: int
"""
c = collections.Counter(nums)
if k < 0 : return 0
elif k > 0:
return len(set(nums) & set(n+k for n in nums))
elif k == 0:
return sum(n>1 for n in c.values())
collections模块下的Counter:
Counter是一个简单的计数器,例如,统计字符出现的个数:
nums=[3, 1, 4, 1, 5]
c = collections.Counter(nums)
print c
输出结果如下:
Counter({1: 2, 3: 1, 4: 1, 5: 1})
补充知识:
Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections??樵谡庑┠谥檬堇嘈偷幕∩希峁┝思父龆钔獾氖堇嘈停?br>
namedtuple(): 生成可以使用名字来访问元素内容的tuple子类
deque: 双端队列,可以快速的从另外一侧追加和推出对象
Counter: 计数器,主要用来计数
OrderedDict: 有序字典
defaultdict: 带有默认值的字典