ProgramingTip

Python : N 번 목록에 항목 추가

bestdevel 2020. 11. 14. 10:56
반응형

Python : N 번 목록에 항목 추가


이것이 바로 대한 지름길이있는 것입니다. 목록에 항목을 N 번 추가하고 다음을 수행합니다.

l = []
x = 0
for i in range(100):
    l.append(x)

이를 위해 다음과 같은 "최적화 된"을 선택해야합니다.

l.append_multiple(x, 100)

거기 있어요?


변경 불가능한 데이터 유형의 경우 :

l = [0] * 100
# [0, 0, 0, 0, 0, ...]

l = ['foo'] * 100
# ['foo', 'foo', 'foo', 'foo', ...]

참조로 저장되고 보관 된 값의 경우 (예 : 하위 목록 또는 사전) :

l = [{} for x in range(100)]

(첫 번째 방법이 정수 또는 하나의 숫자와 같은 상수 값에 좋은 아이디어 인 이유는 <list>*<number>구문을 사용할 때 얕은 복사만을 수행 할 [{}]*100, 같은 작업 을 수행하면 100 개의 참조로 끝납니다. 정수와 언어 변경이 불가능합니다.)

기존 목록에 추가하려는 경우 extend()해당 목록 방법을 사용할 수 있습니다 (위의 기술을 통해 추가 할 항목 목록과 함께).

a = [1,2,3]
b = [4,5,6]
a.extend(b)
# a is now [1,2,3,4,5,6]

목록 이해력을 추가 비용으로 확장하십시오.

l.extend([x for i in range(100)])

자세한 내용은 Python 문서 를 참조하세요.


Itertools는 목록 확장과 결합하여 반복됩니다.

from itertools import repeat
l = []
l.extend(repeat(x, 100))

목록 이해력으로 할 수 있습니다.

l = [x for i in range(10)];

나는 과제를 위해 다른 길을 가야했지만 내가 끝내게 된 것입니다.

my_array += ([x] * repeated_times)

참고 URL : https://stackoverflow.com/questions/4654414/python-append-item-to-list-n-times

반응형