in awswrangler/_utils.py [0:0]
def list_sampling(lst: list[Any], sampling: float) -> list[Any]:
"""Random List sampling."""
if sampling == 1.0:
return lst
if sampling > 1.0 or sampling <= 0.0:
raise exceptions.InvalidArgumentValue(f"Argument <sampling> must be [0.0 < value <= 1.0]. {sampling} received.")
_len: int = len(lst)
if _len == 0:
return []
num_samples: int = int(round(_len * sampling))
num_samples = _len if num_samples > _len else num_samples
num_samples = 1 if num_samples < 1 else num_samples
_logger.debug("_len: %s", _len)
_logger.debug("sampling: %s", sampling)
_logger.debug("num_samples: %s", num_samples)
random_lst: list[Any] = random.sample(population=lst, k=num_samples)
random_lst.sort()
return random_lst