簡體   English   中英

python匹配列表中的項目以創建新列表

[英]python matching up items in a list to create new lists

我正在嘗試編寫一個程序,為一定數量的球員創建一個巡回賽賽程(每個球員都扮演其他每個球員)。
我想知道是否有一種方法可以只使用列表。 我正在嘗試不使用itertools.combinations()

如果我有一個程序可以讓您輸入播放器的數量並生成這些播放器的列表,那么誰能想到一種方法? 示例:4個玩家生成列表[1,2,3,4]

我需要打印程序:

第一回合:1對4 2對3

第2輪:1對3 3 4對2

第三回合:1比2 2 3比4

這是此處描述的第一種算法的簡單實現。

N = 6
a = range(N)
for i in xrange(N-1):
    print zip(a[:N/2], reversed(a[N/2:]))
    a = a[:1] + a[-1:] + a[1:-1]

編輯:實際上,正如所指出的,它甚至適用於奇數N s。

(ORIG:僅當N為偶數時,此方法才有效。該鏈接說明了如何擴展它以支持奇數N s。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM