有誰知道如何在python中形成2個列表(List1和List2)的隨機分區?列表不必具有相同的大小。 例如:Python-如何形成2個列表的隨機分區
S = [1,2,3,4,5,6,7]
List1=[3,6,1,2]
List2=[5,4,7]
或
List1 =[3,5]
List2=[1,2,4,7,6]
有誰知道如何在python中形成2個列表(List1和List2)的隨機分區?列表不必具有相同的大小。 例如:Python-如何形成2個列表的隨機分區
S = [1,2,3,4,5,6,7]
List1=[3,6,1,2]
List2=[5,4,7]
或
List1 =[3,5]
List2=[1,2,4,7,6]
我不知道你的規則是圍繞隨機性和分區,但這應該讓你開始:
import random
s = [1,2,3,4,5,6,7]
random.shuffle(s)
cut = random.randint(0, len(s))
list_1 = s[:cut]
list_2 = s[cut:]
print list_1
print list_2
非常感謝! – user02
我會建議:
代碼:
import random
S = [1,2,3,4,5,6,7]
random.shuffle(S)
index = random.randint(0, len(S))
List1 = S[index:]
List2 = S[:index]
非常感謝!我認爲這就是我需要的 – user02
不知道你有什麼模塊,但這個是做什麼的功能你要。
import random
def split(S):
x = random.randint(0,len(S))
y = len(S)-x
S1 = S[0:x]
S2 = []
for i in range(len(S)):
if S[i] not in S1:
S2.append(S[i])
return S1,S2
謝謝!你知道如何修改代碼,如果我想第一個元素總是在列表1中,最後一個元素總是在列表2中? – user02
你嘗試過什麼嗎? – Julien
嗨。我還沒有。我對Python很陌生。我正在嘗試使用模擬退火形成求解最小割問題的隨機初始解。 – user02
對不起,我們不是在這裏爲你寫代碼或給你個人培訓。請先嚐試一下,閱讀教程等,並在有代碼顯示時再回來。 – Julien