【问题标题】:Python combination of n dimensional array elementsn维数组元素的Python组合
【发布时间】:2021-11-04 11:08:54
【问题描述】:

我有一个数组列表如下

list1 = [['01', '02', '03', '04', '05', '06'], ['01', '64', '2f'], ['00', '1f', '17']]

我需要这些元素的所有可能组合,例如

010100, 01011f, 010117, 010200, 01021f, etc.

【问题讨论】:

  • 你试过什么?这不是一个为我做功课的网站,我们将帮助您解决代码中的问题,但您需要做一些工作才能学习。提示:您需要编写 3 个嵌套循环,从每个子列表中选择一个元素。
  • 我尝试了meshgrid库,但它不允许我指定列表
  • import numpy as np list1 = [['01', '02', '03', '04', '05', '06'], ['01', '64', '2f'], ['00', '1f', '17']] comb_array = np.array(np.meshgrid(list1)).T.reshape(-1, len(list1) print("\n组合数组:") 打印(comb_array)
  • 请不要在 cmets 中发布代码!相反,edit您的问题并使用所有相关信息进行更新。

标签: python python-3.x list


【解决方案1】:

你可以使用itertools.product得到你想要的:

import itertools

list1 = [['01', '02', '03', '04', '05', '06'], ['01', '64', '2f'], ['00', '1f', '17']]

for prd in itertools.product(*list1):
    print(''.join(prd))

输出:

010100
01011f
010117
016400
01641f
016417
012f00
...
062f00
062f1f
062f17

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 2016-05-28
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多