我有兩個串列 A 和 B ,
和 P1,P2
我需要拿 A,B 并將它們隨機分配到串列 P1,P2
A = [ A1,A2,A3,A4 = "A1","A2","A3","A4" ]
B = [n101,n102,n103,n104 = "101","102","103","104"]
此回圈應隨機分配串列 4 次,直到所有 P1 和 P2 隨機填滿
for i in range(4):
if(i <= 3) and a == 3:
P1 = range(A1,A2,A3,A4,n101,n102,n103,n104)
a = 1
if(i <= 3) and b == 3:
P2 = range(A1,A2,A3,A4,n101,n102,n103,n104)
b = 1
預期結果
P1 = A4,101,104,A2
P2 = 102,A3,103,A1
P1,P2 來自 A,B 的隨機分布
uj5u.com熱心網友回復:
為此,請在隨機模塊中使用示例方法。由于您不希望在第二個串列中重復,您可以使用 for 回圈來排除兩者中可用的所有值并創建一個新串列。然后,您可以使用 sample 再次獲取包含隨機值的串列。P1
A B
import random
A = ["A1","A2","A3","A4"]
B = ["101","102","103","104"]
P1 = random.sample(A B, 4)
new_list = []
for x in A B:
if x not in P1:
new_list.append(x)
P2 = random.sample(new_list, 4)
print(P1)
print(P2)
輸出:
['104', '102', 'A4', '103']
['101', 'A2', 'A1', 'A3']
如果len(A)
串列的長度不總是 4,則用作 sample() 方法中的第二個引數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/490563.html
上一篇:從兩個串列中提取一個公共元素,并通過避免重復創建一個字典,從一個串列映射到另一個串列
下一篇:C#介面實作中的不同型別