티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
How do I prepend to a short python list?
짧은 파이썬 리스트 앞에 추가하려면 어떻게 해야 하나요?
문제 내용
list.append()
appends to the end of a list. This explains that list.prepend()
does not exist due to performance concerns for large lists. For a short list, how do I prepend a value?
list.append()는 리스트의 끝에 추가됩니다. 이것은 list.prepend()가 큰 리스트에 대한 성능 문제로 인해 존재하지 않는다는 것을 설명합니다. 짧은 리스트의 경우 값을 추가하려면 어떻게 해야 하나요?
높은 점수를 받은 Solution
The s.insert(0, x)
form is the most common.
s.insert(0, x) 형식이 가장 일반적입니다.
Whenever you see it though, it may be time to consider using a collections.deque instead of a list. Prepending to a deque runs in constant time. Prepending to a list runs in linear time.
그러나 이를 볼 때마다 리스트 대신 collections.deque를 사용하는 것을 고려해야 할 때가 될 수 있습니다. deque 앞에 추가하면 일정한 시간에 실행됩니다. 리스트에 추가하는 작업은 선형 시간으로 실행됩니다.
가장 최근 달린 Solution
In my opinion, the most elegant and idiomatic way of prepending an element or list to another list, in Python, is using the expansion operator * (also called unpacking operator),
제 생각에, 파이썬에서 요소나 리스트를 다른 리스트에 추가하는 가장 우아하고 관용적인 방법은 확장 연산자 *(압축 풀기 연산자라고도 함)를 사용하는 것입니다.
# Initial list
l = [4, 5, 6]
# Modification
l = [1, 2, 3, *l]
Where the resulting list after the modification is [1, 2, 3, 4, 5, 6]
여기서 수정 후의 결과 리스트는 [1, 2, 3, 4, 5, 6]입니다
I also like simply combining two lists with the operator +, as shown,
저는 또한 단순히 두 개의 리스트를 연산자 +와 결합하는 것을 좋아합니다,
# Prepends [1, 2, 3] to l
l = [1, 2, 3] + l
# Prepends element 42 to l
l = [42] + l
I don't like the other common approach, l.insert(0, value)
, as it requires a magic number. Moreover, insert()
only allows prepending a single element, however the approach above has the same syntax for prepending a single element or multiple elements.
다른 일반적인 접근법인 l.insert(0, value)는 매직 넘버가 필요하기 때문에 마음에 들지 않습니다. 또한 insert()는 단일 요소만 추가할 수 있지만, 위의 접근법은 단일 요소 또는 다중 요소를 추가하는 것과 동일한 구문을 갖습니다.
출처 : https://stackoverflow.com/questions/8537916/how-do-i-prepend-to-a-short-python-list
'개발 > 파이썬' 카테고리의 다른 글
'ImportError: no module named win32api' 수정하기 (0) | 2023.01.15 |
---|---|
현재 파이썬 스크립트 파일의 이름 및 실행 중인 줄 번호 가져오기 (0) | 2023.01.15 |
판다스 데이터프레임에 특정 열이 있는지 확인하기 (0) | 2023.01.13 |
Pandas 데이터프레임에서 하나의 열을 기준으로 정렬하기 (0) | 2023.01.12 |
Python에서 파일을 리스트로 읽는 방법 (0) | 2023.01.12 |