From ba7998e0fad5920447749478c2220e2ccd702c36 Mon Sep 17 00:00:00 2001 From: MuhammetBirgecbu Date: Tue, 2 Jun 2026 13:17:44 +0300 Subject: [PATCH] Create weighted_muhammet_birge.py --- Week02/weighted_muhammet_birge.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Week02/weighted_muhammet_birge.py diff --git a/Week02/weighted_muhammet_birge.py b/Week02/weighted_muhammet_birge.py new file mode 100644 index 00000000..ca78209c --- /dev/null +++ b/Week02/weighted_muhammet_birge.py @@ -0,0 +1,10 @@ +import random +def weighted_srs(data, n, weights, with_replacement=False): + if with_replacement: return random.choices(data, weights=weights, k=n) + if not weights: return random.sample(data, n) + res, pool = [], list(zip(data, weights)) + for _ in range(n): + item = random.choices(pool, weights=[w for d, w in pool]) + res.append(item) + pool.remove(item) + return res