<p>你看到的是排列(不是产品)。但20辆车可以在2432902008176640000个位置排列中完成。每个获胜的车手有121645100408832000人</p>
<p>即使您使用了正确的函数(排列),您也无法在超级计算机上处理它们,更不用说将它们存储在列表中了</p>
<pre><code>drivers = ["Lewis Hamilton","Valteri Bottas","Max Verstappen","Sergio Perez","Lando Norris","Daniel Riccardo","Carlos Sainz","Charles Lecerc","Pierre Gasly","Yuki Tsunoda","Kimi Raikonnen","Antonio Giovnazzi","Sebastian Vettel","Lance Stroll","Fernando Alonso","Estaban Ocon","George Russel","Nicholas Latifi","Mick Schumacher","Nikita Mazepin"]
from itertools import permutations
for raceResult in permutations(drivers):
print(*(f"{p}:{d}" for p,d in enumerate(raceResult[:3],1)),end=" ... ")
print(*(f"{p}:{d}" for p,d in enumerate(raceResult[18:],18)))
1:Lewis Hamilton 2:Valteri Bottas 3:Max Verstappen ... 18:Mick Schumacher 19:Nikita Mazepin
1:Lewis Hamilton 2:Valteri Bottas 3:Max Verstappen ... 18:Nikita Mazepin 19:Mick Schumacher
1:Lewis Hamilton 2:Valteri Bottas 3:Max Verstappen ... 18:Nicholas Latifi 19:Nikita Mazepin
1:Lewis Hamilton 2:Valteri Bottas 3:Max Verstappen ... 18:Nikita Mazepin 19:Nicholas Latifi
1:Lewis Hamilton 2:Valteri Bottas 3:Max Verstappen ... 18:Nicholas Latifi 19:Mick Schumacher
...
</code></pre>
<p>更容易管理的是只查看前3个的排列(对于您的19个驱动程序,只有6840个):</p>
<pre><code>for raceResult in permutations(drivers,3):
print(*(f"{p}:{d}" for p,d in enumerate(raceResult,1)))
1:Lewis Hamilton 2:Valteri Bottas 3:Max Verstappen
1:Lewis Hamilton 2:Valteri Bottas 3:Sergio Perez
1:Lewis Hamilton 2:Valteri Bottas 3:Lando Norris
1:Lewis Hamilton 2:Valteri Bottas 3:Daniel Riccardo
1:Lewis Hamilton 2:Valteri Bottas 3:Carlos Sainz
1:Lewis Hamilton 2:Valteri Bottas 3:Charles Lecerc
1:Lewis Hamilton 2:Valteri Bottas 3:Pierre Gasly
1:Lewis Hamilton 2:Valteri Bottas 3:Yuki Tsunoda
1:Lewis Hamilton 2:Valteri Bottas 3:Kimi Raikonnen
1:Lewis Hamilton 2:Valteri Bottas 3:Antonio Giovnazzi
...
</code></pre>