对Python中的数字列表求和以进行组合

问题描述

我有4个数组,可以这样说:-

arr1 = ['A','B','C','D','E','F','G','H','I','J']
arr2 = ['k','l','M','N']
arr3 = ['O','P','Q','R','S']
arr4 = ['T','U','V','W','X','Y','Z','AA','AB']

我正在解决一个组合问题,我需要从阵列1中选择5个,从阵列2中选择1个,从阵列3中选择2个,从阵列4中选择3个,以便最终组合中包含11个元素。我已经使用“ Itertools”完成了这一部分。

数组中的每个元素都有对应的值,例如A = 1,B = 2,AB = 28。 我的下一个挑战是为所选择的元素选择所有对应的11个值,并对它们求和,最后导出为csv。

CSV文件中的预期输出为:- 第1行-ABCDEFGHIJK-66 ** 66等于1到11的总和。这里的数字是1到11可以是我应该使用的输入文件的任何基础。

这是我坚持进行所有相应值之和的第二步的地方。

以下是我用于创建组合的代码:-

   import itertools
   from itertools import combinations
   import pandas as pd
   def rSubset(arr,r):
   return list(combinations(arr,r))
   # Driver Function
   if __name__ == "__main__":
   arr = ['A','J']
   arr1 = ['k','N']
   arr2 = ['O','S']
   arr3 = ['T','AB']
   r = 5
   s = 1
   t = 2
   u = 3
   BaList = rSubset(arr,r)
   KList = rSubset(arr1,s)
   AList = rSubset(arr2,t)
   BoList = rSubset(arr3,u)
   inputdata = [
   BaList,KList,AList,BoList,]
   result = list(itertools.product(*inputdata))
   df = pd.DataFrame(zip(result),columns=['column'])
   df.to_csv("C:\\Users\\013830\\Desktop\\PCM.csv",index=False)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)