簡體   English   中英

如何在 python 上生成唯一的數字對

[英]How to generate unique pairs of numbers on python

所以我現在正在開發一個聊天應用程序。假設我們有 User1、User2、User3、...UserN。 我想為每對生成一個唯一的端口號。 就像 User1 和 User2 將有 5000,User1 和 User3 將有 5070,User2 和 User3 將有 5500 等等。基本上每個用戶應該有不同的端口號給其他用戶.. 但兩個用戶應該有相同的對於他們每個人。

因此,如果我理解正確,您正在尋找一種方法來 map 從User-iUser-j的每對i,j065535之間的數字(或您的范圍)。 順便說一句,這意味着您將擁有最多65535對用戶,並且由於有N * (N-1) / 2對,這意味着大約362個用戶。

但是哪個組到 map 到哪個端口? 假設User-0獲得端口1N ,下一個用戶N+12N等這樣你可以 map i,jf(i,j) = N*i + j ,這是一個 1-1 function,但是i,j給出的結果與j,i不同,這不是您想要的。 因此,我們首先需要將 map i,j得到對j,i給出相同結果但沒有其他輸入的東西。 一個想法是g(i,j) = (i,j) if i<j else (j,i) 換句話說,首先對數字進行排序。

現在User1, User2映射到1,2 -> 1,2 -> 360*1 + 2 = 362而且User2, User1映射到2,1 -> 1,2 -> 360*1 + 2 = 362

暫無
暫無

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

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