擅长:python、mysql、java
<pre><code>In[50]: numbers
Out[50]: [1, 2, 4, 4, 4, 4, 5, 5, 5, 7, 7, 8, 8, 8, 9]
In[51]: expected_result
Out[51]:
[[1, 9],
[2, 8],
[2, 8],
[2, 8],
[5, 5],
[5, 5],
[5, 5],
[5, 5],
[5, 5],
[5, 5],
[8, 2],
[8, 2],
[8, 2],
[9, 1]]
In[52]: from collections import Counter
...:
...:
...: def matches(nums, target):
...: cnt = Counter(nums)
...: result = []
...: for num in nums:
...: diff = target - num
...: result.extend([[num, diff]] * (cnt[diff] - (diff == num)))
...: return result
...:
In[53]: matches(numbers, target=10) == expected_result
Out[53]: True
</code></pre>