【发布时间】:2015-07-03 13:05:55
【问题描述】:
我有一个元组列表:a = [(1,2),(1,4),(1,2),(6,7),(2,9)] 我想检查每个元组的单个元素是否与另一个元组中的相同位置/元素匹配,以及这种情况发生了多少次。
例如:如果某些元组中只有第一个元素有重复项,则返回元组及其重复次数。 我可以用以下代码做到这一点:
a = [(1,2), (1,4), (1,2), (6,7), (2,9)]
coll_list = []
for t in a:
coll_cnt = 0
for b in a:
if b[0] == t[0]:
coll_cnt = coll_cnt + 1
print "%s,%d" %(t,coll_cnt)
coll_list.append((t,coll_cnt))
print coll_list
我想知道是否有更有效的方法来做到这一点?
【问题讨论】:
-
collections.Counter(a)会给你计数。 -
如果你的代码可以运行,但你想改进它,你可以在这里发布:codereview.stackexchange.com
-
您可能希望显示预期的输出,因为下面的许多答案似乎都是关于查找重复的元组而不是元组中的重复值。