Я пытаюсь как можно точнее продублировать все числа в списке альфа-значений, но не могу понять, как это сделать.
alphas = [.001, .01, .1, 1, 10, 100]
data_alphas = [a for num in alphas for i in range(2)]
Это должно вернуться
[.001, .001, .01, .01, .1, .1, 1, 1, 10, 10, 100, 100]
Это выглядит немного «хакерским» и, вероятно, не самый питонический способ решить эту проблему, но он должен работать.
alphas = [.001, .01, .1, 1, 10, 100]
data_alphas = [alphas[int(i/2)] for i in range(len(alphas)*2)]
Он выводит
[0.001, 0.001, 0.01, 0.01, 0.1, 0.1, 1, 1, 10, 10, 100, 100]
Вы можете попробовать что-то вроде:
list(sum(zip(v, v), ()))
извините за однострочный, хотя могут быть и лучшие варианты
Я думаю, что самый быстрый и простой способ — просто продублировать список и отсортировать его.
alphas = [.001, .01, .1, 1, 10, 100]
data_alphas = sorted(alphas * 2)
не могли бы вы объяснить, почему вы хотите это сделать, чтобы я мог помочь с кодом? Сначала мне нужно понять ваше использование.