Подтвердить что ты не робот

Повторение элементов в понимании списка

У меня есть это понимание списка:

[[x,x] for x in range(3)]

который приводит к этому списку:

[[0, 0], [1, 1], [2, 2]]

но я хочу этот список:

[0, 0, 1, 1, 2, 2]

Что проще всего создать этот список?

4b9b3361

Ответ 1

[y for x in range(3) for y in [x, x]]

Ответ 2

>>> [i for i in range(3) for _ in range(2)]
[0, 0, 1, 1, 2, 2]

Ответ 3

общее решение:

m = 3   #the list of integers
n = 2   # of repetitions
[x for x in range(m) for y in range(n)]

Ответ 4

>>> [int(x/2) for x in range(6)]
[0, 0, 1, 1, 2, 2]

Ответ 5

Мое решение:

def explode_list(p,n):
    arr=[]
    track=0

    if n==0:
        return arr    
    while track<len(p): 
        m=1
        while m<=n:
            arr.append(p[track])
            m=m+1
        track=track+1

    return arr

Ответ 6

Вы можете уйти от этого:

[floor(x/2) for x in range(6)]

edit1

[int(x/2) for x in range(6)]

- это более портативное решение в том же ключе. Хотя другие представленные ответы кажутся лучше.

Ответ 7

[x/2 for x in range(6)]

обновление:

[x//2 for x in range(6)] #ok now ?