Can you write a code snippet to perform k-fold cross-validation?
Implement k_fold_split(n_samples, k, shuffle, seed) using only Python's standard library. Return k pairs of training and validation index lists, with every sample used exactly once for validation. Validation folds should be as balanced as possible, and shuffling must be reproducible when a seed is provided. For example, n_samples = 5, k = 2, shuffle = False returns validation folds of sizes 3 and 2.
shuffle is a booleandef k_fold_split(n_samples, k, shuffle, seed):