在至少选择一个位置的情况下,从列表中计算组合

2024-05-23 13:52:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个向量“vec”的子位置。母公司地址为(城镇外线、Chowk、城镇市场)

   Parent_Location_Name Sub_Location_Name
0              Town Ext        Town Ext_1
1              Town Ext        Town Ext_2
2              Town Ext        Town Ext_3
3           Town Market     Town Market_1
4           Town Market     Town Market_2
5           Town Market     Town Market_3
6           Town Market     Town Market_4
7           Town Market     Town Market_5
8                 Chowk           Chowk_1
9                 Chowk           Chowk_2
10                Chowk           Chowk_3
11                Chowk           Chowk_4

vec=['Town Ext_1','Town Ext_2','Town Ext_3','Town Market_1','Town Market_2','Town Market_3','Town Market_4','Town Market_5','Chowk_1','Chowk_2','Chowk_3','Chowk_4']
vec
['Town Ext_1',
 'Town Ext_2',
 'Town Ext_3',
 'Town Market_1',
 'Town Market_2',
 'Town Market_3',
 'Town Market_4',
 'Town Market_5',
 'Chowk_1',
 'Chowk_2',
 'Chowk_3',
 'Chowk_4']

当我应用list(combinations(vec,4)时,它给出了所有的组合,但我想要的是每个位置必须选择一次。组合不应涉及(“城镇市场4”、“城镇1”、“城镇2”、“城镇3”),因为子位置Chowk已被三次选择,我们已完全排除城镇外部母位置。它应该是('Town Market_4'、'Town Ext_1'、'Chowk_2'、'Chowk_3')或 ('Town Market_4'、'Town Ext_1'、'Chowk_2'、'Town Ext_2')等。我必须让所有母公司至少参与一次


Tags: name市场地址location向量marketextlist