【发布时间】:2016-11-10 15:54:19
【问题描述】:
import Counter
import collections
import itertools, collections
List1=[('1234', '5678', 9101112, 131415, 161716, 19), ('1234', '5678', 9101112, 131415, 161716, 19), ('1723113685', '1958120268', 704338729, 1310973186, 38760, 80), ('1723113685', '1958120268', 704338729, 1310973186, 38760, 70), ('1234', '5678', 9101112, 131415, 161716, 19), ('19216813', '6311624397', 3851697578, 0, 58816, 80), ('6311624397', '19216813', 2747564191, 3851697579, 890, 58816), ('19216813', '6311624397', 3851697579, 2747564192, 58816, 80), ('1234', '5678', 9101112, 131415, 161716, 19), ('19216813', '6311624397', 3851698039, 2747565640, 58816, 50)]
List2=[('1723113685', '1958120268', 704338729, 1310984130, 38760, 80), ('1723113685', '1958120268', 704338729, 1310985498, 38760, 80), ('1723113685', '1958120268', 704338729, 1310986866, 38760, 80), ('1723113685', '1958120268', 704338729, 1310973186, 38760, 80), ('6311624397', '19216813', 2747564192, 3851697579, 80, 58816), ('19216813', '6311624397', 3851698039, 2747564192, 58816, 80), ('19216813', '6311624397', 3851698039, 2747565640, 58816, 80), ('1234', '5678', 9101112, 131415, 161716, 19), ('19216813', '6311624397', 3851698039, 2747568536, 58816, 80), ('19216813', '6311624397', 3851698039, 2747569984, 58816, 80), ('19216813', '6311624397', 3851698039, 2747571432, 58816, 80), ('19216813', '6311624397', 3851698039, 2747572880, 58816, 80)]
ab=[]
abDict = Counter(ab)
for x in List1:
if x in List2:
ab.append(x)
for key, value in abDict.items():
if value>2:
print key
我想查找list1 和list2 之间的所有匹配元素。当我用计数器更改list1 和list2 时,它不是找到所有元素,而是只显示匹配一个元素。
这可以显示所有元素,但我找不到多少元素。
【问题讨论】:
-
你的代码中是否有另一部分显示你是如何做到这一点的:“当我用计数器更改 list1 和 list2 时”?如果没有,预期的输出是什么?你得到的输出是什么?
-
没有其他的部分,因为我无法得到结果。当我更改它们计数器时,如果不是,输出是匹配元素但只显示一次实际上有许多相同的元素。如果 list1 有 1,1,1,如果 list2 有 1,那么我想要 1,1,1.. 我取 1,1,1 但如果值 >2 不起作用