【发布时间】:2021-05-09 23:12:36
【问题描述】:
我的代码有问题:
from collections import Counter
from collections import defaultdict
from itertools import combinations
def findPairs(pair_counts, n):
pair_counts = dict()
count = Counter(combinations(n, 2))
for key, value in count.items():
pair_counts[key] = value
print(pair_counts)
nums = [2,3,7]
#n = len(nums)
findPairs(pair_counts, nums)
它给出的输出:
{(2, 3): 1, (2, 7): 1, (3, 7): 1}
但我希望它给出的输出看起来更像:
{(2, 3): 1, (2, 7): 1, (3, 7): 1, (3,2):1, (7,2):1, (7,3):1)}
提前致谢
【问题讨论】:
-
你需要
itertools.permutations而不是combinations -
正如@AnkurSaxena 所说,在这种情况下需要排列,因为我们确实关心值的顺序,因为组合 321 和 123 是相同的,并且只使用了一个
标签: python dictionary collections itertools