У меня есть список таких списков:
my_list_of_lists =
[['sparrow','sparrow','sparrow','junco','jay','robin'],
['sparrow','sparrow','junco', 'sparrow','robin','robin'],
['sparrow','sparrow','sparrow','sparrow','jay','robin']]
Я хотел бы сделать попарное сравнение в каждой позиции для всех списков с таким списком:
#1 with 2
['sparrow','sparrow','sparrow','junco','jay','robin']
['sparrow','sparrow','junco', 'sparrow','robin','robin']
#1 with 3
['sparrow','sparrow','sparrow','junco','jay','robin']
['sparrow','sparrow','sparrow','sparrow','jay','robin']
#2 with 3
['sparrow','sparrow','junco', 'sparrow','robin','robin']
['sparrow','sparrow','sparrow','sparrow','jay','robin']
Итак, пары для 1 с 2:
pairs =[('sparrow','sparrow'), ('sparrow','sparrow'), ('sparrow','junco'),('junco','sparrow'),('junco','junco'), ('jay','robin'), ('robin','robin')]
Я хотел бы получить количество и частоту пар в каждом попарном сравнении:
pairs =[('sparrow','sparrow'), ('sparrow','sparrow'), ('sparrow','junco'),('junco','sparrow') ('junco','junco'), ('jay','robin'), ('robin','robin')]
sparrowsparrow_counts = 2
juncosparrow_counts = 2
jayrobin_counts = 1
robinrobin = 1
frequency_of_combos = [('sparrow', 'sparrow'):.333, ('sparrow', 'junco'):.333, ('jay', 'robin'):.167, ('robin', 'robin'): .167]
Я пытался заархивировать, но в итоге я заархивировал все списки (не пары) в кортежи, а остальные запутались.
Я думаю, что это несколько связано с Как рассчитать количество и частоту для пар в списке списков? но я не могу понять, как применить это к моим данным.
collections.Counter
для подсчета пар. Разделите на общее количество. Теперь повторите это для каждой из трех пар списков. - person Prune   schedule 13.10.2020itertools.combinations(list_of_lists, 2)
для создания пар списков. - person Prune   schedule 13.10.2020