22 python tuples list cartesian-product
假设我有两个列表:
a = list(1,2,3)
b = list(4,5,6)
Run Code Online (Sandbox Code Playgroud)
所以我可以有9对这些列表成员:
(1,4)
(1,5)
(1,6)
(2,4)
(2,5)
(2,6)
(3,4)
(3,5)
(3,6)
Run Code Online (Sandbox Code Playgroud)
现在,考虑到上面的两个列表成员,我能找到该对的索引吗?像上面的(1,4)将是第一对.
wal*_*mat 35
并完成答案并留在示例中:
import itertools
a = [1, 2, 3]
b = [4, 5, 6]
c = list(itertools.product(a, b))
idx = c.index((1,4))
Run Code Online (Sandbox Code Playgroud)
但这将是从零开始的列表索引,因此0而不是1.
一种方法:
在第一个列表中找到您要查找的对中的第一个元素:
p = (1, 4)
i = a.index(p[0])
Run Code Online (Sandbox Code Playgroud)在第二个列表中找到您要查找的对中的第二个元素:
j = b.index(p[1])
Run Code Online (Sandbox Code Playgroud)计算产品列表中的索引:
k = i * len(b) + j
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
18418 次 |
| 最近记录: |