Python: 목록에 항목 추가 N회
이것은 Python이 지름길을 가지고 있는 것처럼 보입니다.목록에 항목을 N번 추가하여 다음 작업을 효과적으로 수행합니다.
l = []
x = 0
for i in range(100):
l.append(x)
이를 위해 "최적화된" 방법이 있어야 한다고 생각합니다. 다음과 같은 것이 있습니다.
l.append_multiple(x, 100)
있어?
다른 시퀀스의 요소를 추가하려면(같은 값을 반복적으로 추가하는 대신).extend
직접적으로 그 순서로.빈 목록의 끝에 추가하는 방법을 참조하십시오.
불변 데이터 유형의 경우:
l = [0] * 100
# [0, 0, 0, 0, 0, ...]
l = ['foo'] * 100
# ['foo', 'foo', 'foo', 'foo', ...]
참조로 저장되고 나중에 수정할 수 있는 값(예: 하위 목록 또는 딕트):
l = [{} for x in range(100)]
(첫 번째 방법이 int나 문자열과 같은 상수 값에 대해서만 좋은 아이디어인 이유는 다음을 사용할 때 얕은 복사만 하기 때문입니다.<list>*<number>
구문, 따라서 만약 당신이 무언가를 했다면.[{}]*100
동일한 사전에 대한 참조가 100개가 될 수 있으므로 그 중 하나를 변경하면 모든 참조가 변경됩니다.int와 string은 불변이기 때문에, 이것은 그들에게 문제가 되지 않습니다.)
기존 목록에 추가하려면 다음을 사용할 수 있습니다.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 문서를 참조하십시오.
목록 확장과 결합된 반복 도구입니다.
from itertools import repeat
l = []
l.extend(repeat(x, 100))
저는 과제를 위해 다른 길을 가야 했지만 결국 이렇게 되었습니다.
my_array += ([x] * repeated_times)
l = []
x = 0
l.extend([x]*100)
당신은 목록 이해력으로 이것을 할 수 있습니다.
l = [x for i in range(10)];
다음과 같은 값을 여러 번 추가할 수 있습니다.
a = [1,2,3]
b = []
#if you want to add on item 3 times for example:
for i in range(len(a)):
j = 3
while j != 0:
b.append(a[i])
j-=1
#now b = [1,1,1,2,2,2,3,3,3]
언급URL : https://stackoverflow.com/questions/4654414/python-append-item-to-list-n-times
'programing' 카테고리의 다른 글
PowerShell을 사용하여 하드 및 소프트 링크 만들기 (0) | 2023.05.06 |
---|---|
몽고 셸의 모든 사용자를 나열하는 방법은 무엇입니까? (0) | 2023.05.06 |
Git merge는 차이가 있지만 "이미 최신"이라고 보고합니다. (0) | 2023.05.06 |
문자열을 MongoDB BsonDocument로 변환 (0) | 2023.05.01 |
간단한 Postgre에서 변수를 사용하는 방법SQL 스크립트? (0) | 2023.05.01 |