Próbuję uzyskać wartość trybu listy. Wiem, że mogę uzyskać tryb listy za pomocą operatora trybu w taki sposób, jak "tryby pokazu [1 2 2 2 3 4 4]", które będą raportować 2 jako tryb, ale w jaki sposób mogę to policzyć? tryb, 4 w tym przypadku, ponieważ są to 4 2 s. Przypuszczam, że mógłbym uzyskać tryb i iterować przez sprawdzanie listy, aby sprawdzić, czy każda liczba jest równa trybowi, ale zastanawiam się, czy jest prostszy sposób.
Z góry dziękuję!
Odpowiedzi:
2 dla odpowiedzi № 1Kombinacją length
i filter
powinien dostać ci to, co chcesz:
let xs [1 2 2 3 3 4]
foreach modes xs [
let mode ?
let n length filter [ ? = mode ] xs
print (word "mode: " mode ", occurrences: " n)
]
Wyjdzie:
mode: 2, occurrences: 2
mode: 3, occurrences: 2
(Oczywiście z definicji każdy tryb będzie miał taką samą liczbę wystąpień).