Actually, I have a dataset about a "meeting".
For example, A,B,C have a meeting, then the list would be [A,B,C].
Like this, each list would contain a list of members who participated in the meeting.
Therefore:
line1= (A,B,C)
line2= (A,C,D,E)
line3 = (D,F,G)
...
I just would like to count the number how many times each pair of members meet each other.
For example, member A meets C two times from line1 and line2 and member B meets C one time from line1. So, I would like to make a chart like this..
A B C D E F G...
A . 1 2 1 ...
B 1 . 1 0
C
...
I thought it would be easy at the first but I am pretty confused.
Please help me and thank you so much in advance.
解决方案
Rather than manually summing frequencies, use collections.counter along with itertools:
from collections import Counter
from itertools import chain, combinations
meets = Counter(chain.from_iterable(combinations(line, 2) for line in lines))
Where lines is an iterable of iterables of names.