我正在用Python构建字典列表,目的是逐个遍历每个字典并连接所有不同的组合。在字典中,每个“产品”有三个不同的组成部分:
1)字母,例如'A'
(产品代码的第一部分,对每个产品条目都是唯一的)。假设范围是:
['A', 'B', 'C']
2)字母和数字,例如'S2'
(第二部分有几个变体…可能是'D3'
或'E5'
)
3)一个句点('.'
)和一个字母,例如'.X'
(第三部分,每个产品条目都是唯一的)。假设范围是:
['.X', '.Y', '.Z']
由于上面列出的第二部分有最多的变化,我的初始假设是将第一部分和第三部分一起构建dicts列表,以减少不同列表的数量dicts,因为它们是唯一成对的,例如A.Z'
…但是,我仍然需要拆分每个条目,然后通过一些“连接”命令在它们之间插入第二部分。所以,问题是:如果我有另一个包含第二部分所有变体的dict列表,我应该使用什么函数来构建产品的所有变体?你知道吗
示例的总组合:
ListOne = ['A', 'B', 'C']
ListTwo = ['D3', 'D4', 'D5', 'E3', 'E4', 'E5']
ListThr = ['.X', '.Y', '.Z']
我需要创建新的dicts列表作为所有三个dicts列表的串联,例如'AD3.X'
,但是ListOne
和ListThr
没有变体,它总是'A'
与'.X'
或'B'
匹配,并且'C'
与'.Y'
匹配…ListTwo
在ListOne
和ListThr
产品之间串联的产品将需要迭代,因此所有可能的组合都作为一个新的dict列表输出,例如
ListOneNew = ['AD3.X', 'AD4.X', AD5.X', 'AE3.X', 'AE4.X', 'AE5.X']
ListTwoNew = ['BD3.Y', 'BD4.Y', 'BD5.Y', <and so on...>]
为了简单起见,脚本应该有ListOne
和ListThr
的合并版本吗
List = ['A.X', 'B.X', 'C.Z']
然后用ListTwo
产品拆分并连接,或者只使用三个List
产品并从那里连接?你知道吗
有列表理解
相关问题 更多 >
编程相关推荐