具有列表理解的列表中的重复数字
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)
我正在尝试尽可能干净地复制 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)