具有列表理解的列表中的重复数字

Duplicate numbers in list with list comprehension

我正在尝试尽可能干净地复制 alpha 值列表中的所有数字,但不知道如何操作。

alphas = [.001, .01, .1, 1, 10, 100]

data_alphas = [a for num in alphas for i in range(2)]

这应该return

[.001, .001, .01, .01, .1, .1, 1, 1, 10, 10, 100, 100]

这感觉有点“hacky”,可能不是解决这个问题的最 pythonic 方法,但它应该有效。

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), ()))

抱歉 one-liner,但可能会有更好的选择

我认为最快最简单的方法就是复制列表并对其进行排序。

alphas = [.001, .01, .1, 1, 10, 100]
data_alphas = sorted(alphas * 2)