为了账号安全,请及时绑定邮箱和手机立即绑定

如何以数组形式访问组合的元素?

如何以数组形式访问组合的元素?

繁华开满天机 2023-08-22 17:44:34
我试图以数组的形式访问组合列表的元素,以便能够操纵组合的结果。a = 1b = 2c = 3d = 4comb = combinations_with_replacement([a, b, c, d], 2)for i in list(comb):     print(i) 我有这段代码,a, b, c, d变量不会是那些特定值。这将返回:(1, 1)(1, 2)(1, 3)(1, 4)(2, 2)(2, 3)(2, 4)(3, 3)(3, 4)(4, 4)我希望能够以数组的形式访问每个组合来操作其元素,我该怎么做?
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

写一个包装器。


def wrapper_combinations_with_replacement(iterable, r):

    comb = combinations_with_replacement(iterable, r)

    for item in comb:

        yield list(item)

现在你有了一个列表的列表。


a = 1

b = 2

c = 3

d = 4

comb = wrapper_combinations_with_replacement([a, b, c, d], 2)

for i in list(comb): 

    print(i)

结果是:


[1, 1]

[1, 2]

[1, 3]

[1, 4]

[2, 2]

[2, 3]

[2, 4]

[3, 3]

[3, 4]

[4, 4]

或者使用list


list(wrapper_combinations_with_replacement([a, b, c, d], 2))

结果:


[[1, 1],

 [1, 2],

 [1, 3],

 [1, 4],

 [2, 2],

 [2, 3],

 [2, 4],

 [3, 3],

 [3, 4],

 [4, 4]]


查看完整回答
反对 回复 2023-08-22
?
动漫人物

TA贡献1815条经验 获得超10个赞

comb_list = [list(combination) for combination in (list(comb))]

这将为您提供一个数组形式的组合列表


for array_combination in comb_list:

    print(array_combination)


Output:


> [1, 1]

  [1, 2]

  [1, 3]

  [1, 4]

  [2, 2]

  [2, 3]

  [2, 4]

  [3, 3]

  [3, 4]

  [4, 4]


查看完整回答
反对 回复 2023-08-22
  • 2 回答
  • 0 关注
  • 147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信