Enumerating all 3-tuples

Paul Moore p.f.moore at gmail.com
Tue Mar 13 07:19:00 EDT 2018


On 13 March 2018 at 11:01, Steven D'Aprano
<steve+comp.lang.python at pearwood.info> wrote:
> On 2018年3月10日 11:15:49 +0000, Paul Moore wrote:
>>> On 10 March 2018 at 02:18, MRAB <python at mrabarnett.plus.com> wrote:
> [...]
>>> This might help, although the order they come out might not be what you
>>> want:
>>>>>> def triples():
>>> for total in itertools.count(1):
>>> for i in range(1, total):
>>> for j in range(1, total - i):
>>> yield i, j, total - (i + j)
>>>> Mathematically, that's the usual generalisation of Cantor's diagonal
>> argument.
>> Thanks MRAB. Paul, do you have a reference for that? Wolfram Mathworld is
> not very helpful regarding generalising Cantor's diagonalisation pairing
> function.
>> (It's not the diagonal argument, that's something else :-)

Sadly, other than my memories of my maths degree from 30 years ago, no
I don't. I'll see if I can dig something out.
Paul


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /