我正在努力解决一个问题 - 请原谅我的英语不好。我目前正在用 Python 编写一些脚本,我需要在其中操作列表并转换它们。我想将双编号转换为仅使用一个索引的另一种编号。
如果n
是我的双编号的第一个索引和第二个索引,那么允许从中传递m
的表达式是什么(这里但我想要一个一般规则):L(n, m) = idx
n_max = 3
[n, m] => [[0, 0], [1, 0], [2, 0], [3, 0], [1, 1], [2, 1], [3, 1], [2, 2], [3, 2], [3, 3]]
依此类推
idx => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
? 它显然取决于 n_max 但我正在搜索一段时间并没有找到任何可靠的表达式或脚本。
例如,如果[n, m]
具有以下结构:
[[0, 0], [1, 0], [1, 1], [2, 0], [2, 1], [2, 2], [3, 0], [3, 1], [3, 2], [3, 3]]
搜索的表达式将是:
idx = L(n, m) = n * (n + 1) / 2 + m
任何帮助将不胜感激,即使是很少的提示或链接 :) 谢谢!我已经在网上和这个网站上搜索过,但没有找到任何答案。