27

2 つのリストがあるとします。

a = list(1,2,3)
b = list(4,5,6)

したがって、これらのリスト メンバーのペアを 9 つ持つことができます。

(1,4)
(1,5)
(1,6)

(2,4)
(2,5)
(2,6)

(3,4)
(3,5)
(3,6)

さて、上記のような 2 つのリスト メンバーが与えられた場合、ペアのインデックスを見つけることができますか? 上記の (1,4) のように、最初のペアになります。

4

2 に答える 2

50

そして、答えを完成させて例にとどまるには:

import itertools  

a = [1, 2, 3]
b = [4, 5, 6]
c = list(itertools.product(a, b))

idx = c.index((1,4))

ただし、これはゼロベースのリスト インデックスになるため、1 ではなく 0 になります。

于 2011-11-23T13:22:56.003 に答える
9

これを行う1つの方法:

  1. 最初のリストで探しているペアの最初の要素を見つけます。

    p = (1, 4)
    i = a.index(p[0])
    
  2. 2 番目のリストで探しているペアの 2 番目の要素を見つけます。

    j = b.index(p[1])
    
  3. 製品リストのインデックスを計算します。

    k = i * len(b) + j
    
于 2011-11-23T13:29:37.210 に答える