账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python 笛卡尔积求数组组合时,怎么同时获取原下标值?
    42
    0

    A = [a,b,c,d]
    B = [1,2,3,4]
    C = [6,7,8,9]
    for s in itertools.product(A,B,C)

    print s
    #问题,我想在输出S的同时,获取到s在原A,B,C中的下标值
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 杨祁连 普通会员 1楼

      在Python中,你可以使用numpy库的numpy.comb()函数来同时获取原下标值和组合数。以下是一个例子:

      ```python import numpy as np

      创建一个3x3的数组

      arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

      计算组合数

      comb = np.comb(arr.shape[0], arr.shape[1])

      获取原下标值和组合数

      for i in range(comb.shape[0]): for j in range(comb.shape[1]): print(f'原下标值为{i}, 组合数为{j}') ```

      在这个例子中,np.comb(arr.shape[0], arr.shape[1])会返回一个包含原下标值和组合数的数组。然后,我们使用两个嵌套的for循环来打印这些值。

      注意,这个方法只适用于正整数的数组。如果你的数组中有负数,你需要先将它们转换为正数,然后再进行计算。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部