클래스를 정의하고 해당 클래스의 매개 변수로 객체 목록을 만들고 매개 변수 중 하나를 기준으로 오름차순으로 목록을 정렬했습니다.
import random
class Elev:
def __init__(self, navn, nivaa, braakete):
self.navn = navn
self.nivaa = nivaa
self.braakte = braakete
def __str__(self):
return self.navn + "," + str(self.nivaa)
KL = [Elev("Bruh", 4, 6), Elev("Famsquad", 1, 6), Elev("Alex", 6, 1), Elev("Albania", 3, 4), Elev("Aron", 2, 6), Elev("Adrian", 4, 3), Elev("Bruh", 5, 1), Elev("Sakka", 1, 3), Elev("A", 5, 2), Elev("B", 1, 6), Elev("C", 4,4), Elev("D", 5, 1), Elev("E", 2, 5), Elev("F", 4,2), Elev("H", 4, 2)]
KL.sort(key = lambda Elev:Elev.nivaa, reverse = True)
그런 다음 목록을 분할하고 가장 낮은 개체와 가장 높은 개체가 함께 쌍을 이루는 쌍을 만들고 싶지만 무작위로 만들고 싶습니다. 즉, 가장 높은 개체와 가장 낮은 개체가 함께 쌍을 이루는 쌍의 목록을 원하지만 가장 높은 값과 가장 낮은 값이 될 필요는 없습니다. 함께 가장 낮은 값과 두 번째로 높은 값이 될 수도 있습니다. 이 작업을 수행하기 위해 값이 목록으로 정렬되기 전에 얼마나 "낮아야"하는지에 대한 경계를 만들었습니다.
def limit():
if (int(len(KL)*0.2)%2) == 0:
return int(len(KL)*0.2)
else:
return int(len(KL)*0.2)+1
( "elif"함수의 이유는 짝수를 반환하기 때문입니다.) limit()
방금 반환 한 것은 객체 목록의 최상위 및 최하위 인덱스 값입니다 : KL
. 여기에서 limit()
제한을 만든 개체의 임의 쌍을 만들고 싶습니다.
list(zip(KL[(random.shuffle(:grense())]), reversed(KL[random.shuffle(grense():])))
그런 다음 TypeError: list expected at most 1 argument, got 2
오류 메시지 : 및`` "유효하지 않은 구문 ''`이 문제를 해결하거나 단순화 할 수있는 방법에 대한 아이디어가 있습니까?
엉망진창이라서이 글을 읽는 분들에게 미안하지만 더 간단하게 만들 수는 없습니다.
gr = limit()
low = KL[:gr]
high = KL[-gr:]
random.shuffle(low)
random.shuffle(high)
list( zip( low , high ) )
random.shuffle은 목록을 제자리에서 섞고 None을 반환합니다. 발생한 오류는 괄호 문제로 인한 것이며, 셔플에서 반환 된 값은 None이므로 목록 인덱스로 사용할 수 없습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다