【发布时间】:2016-09-20 23:33:10
【问题描述】:
如果我有一个大小不一致的数组,lists 由(不一致的)数量的列表组成:
lists = [List1, List2, List3,...ListN]
每个包含的列表大小不一致。
如何将每个包含的数组的内容相乘地连接起来。
目标输出示例:
A = ["A","B","C","D"]
B = ["1","2","3","4"]
C = ["D","E","F","G"]
A[0-N] + B[0-N] + C[0-N]
Giving ["A1D","B1D","C1D","D1D",
"A2D","B2D","C2D","D2D"
"A3D","B3D","C3D","D3D"
"A4D","B4D","C4D","D4D"
"A1E","B1E","C1E","D1E"
... "C4G","D4G" ]
对于这个特定的例子,它应该产生一个 4^3 的列表长度。 (列表长度的列表数量的幂)
但是列表长度不是恒定的,所以它确实是
List1 Length * List2 Length * List3 Length * ... * ListN Length
对于不一致的列表长度:
A = ["A","B"]
B = ["1","2","3","4"]
= ["A1","A2","A3","A4","B1","B2","B3","B4"]
我已经尝试过 python 地图和 zips,但我遇到了一些麻烦,例如:
zip(list1, list2, list3)
何时:
列表数量不一致
这些列表不是单独存储的,而是整理成一个大列表,
而且列表大小不一致
其他 SO 问题上描述的方法仅解决一致的大小、2 个列表、情况。在这种情况下我无法应用这些技术。
【问题讨论】:
-
@enderland 编辑反映。