일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 클라우드컴퓨팅
- 소프트웨어
- 소프트웨어공학
- 사이버보안
- 알고리즘
- 웹개발
- 데이터베이스
- 네트워크
- 2
- 빅데이터
- 코딩
- 인공지능
- 데이터분석
- 자료구조
- 데이터구조
- 데이터과학
- Yes
- 버전관리
- 컴퓨터비전
- 보안
- 프로그래밍
- 파이썬
- 딥러닝
- 컴퓨터공학
- 프로그래밍언어
- 네트워크보안
- 컴퓨터과학
- 자바스크립트
- I'm Sorry
- 머신러닝
- Today
- Total
스택큐힙리스트
파이썬에서, 언제 딕셔너리, 리스트 또는 집합을 사용해야 할까요? 본문
사전, 리스트 또는 집합을 언제 사용해야 할까요?
각 데이터 유형에 더 적합한 시나리오가 있나요?
답변 1
한국어로 번역해주세요.
list은 질서를 유지하고, #dict 와 #set 는 그렇지 않습니다. 따라서 질서를 중요시한다면, 당연히 list을 사용해야합니다 (물론 이 세 가지 컨테이너 중 선택이 한정되어있는 경우에는 ;-)).
dict은 각 키를 값과 연결하지만, list과 set은 값만 포함합니다. 물론 매우 다른 용도입니다.
#set 는 항목이 해시 가능해야하지만, list는 그렇지 않습니다. 따라서 해시 불가능한 항목이 있다면, #set 를 사용할 수 없으며 대신 list를 사용해야합니다.
set은 중복을 금지하고, list은 금지하지 않습니다. 이것은 중요한 차이점입니다. (멀티셋은 중복된 항목의 개수를 다른 값으로 매핑하는 것으로, collections.Counter에서 찾을 수 있습니다. 이를 구축하려면 dict으로 빌드할 수 있습니다. 이상한 이유로 collections를 가져올 수 없거나, Python 2.7 이전 버전에서는 키로 항목을 사용하고 관련된 값을 개수로 사용하여 collections.defaultdict(int)로 만들 수 있습니다.)
값의 멤버십 여부를 검사하는 것은 set (또는 키의 경우 @#dict )에서는 빠르게 진행됩니다 (상수, 짧은 시간 소요). 반면에 목록에서는 평균 및 최악의 경우 목록의 길이에 비례하여 시간이 소요됩니다. 따라서 해시 가능한 항목이 있고 순서나 중복에 상관없이 빠른 멤버십 확인을 원한다면 set이 list보다 우수합니다.
답변 2
파이썬에서는 리스트, 딕셔너리, 셋 이라는 세 가지 컬렉션 타입을 제공합니다. 각각의 컬렉션 타입은 다양한 용도로 사용됩니다. 이번 글에서는 리스트, 딕셔너리, 셋의 특징과 용도에 대해 살펴보겠습니다.리스트는 파이썬에서 가장 기본적인 컬렉션 타입 중 하나입니다. 리스트는 여러 개의 값을 저장할 수 있는 순서가 있는 컬렉션 타입입니다. 리스트는 [] 기호를 사용하여 생성하며, 인덱스를 사용하여 요소에 접근할 수 있으며 수정할 수도 있습니다. 리스트는 많은 요소를 저장할 수 있으므로 반복문과 함께 사용하여 많은 데이터를 처리할 수 있습니다. 예를 들어, 리스트를 사용하여 학생들의 점수를 저장하고, 반복문을 사용하여 학생들의 평균 점수를 계산할 수 있습니다.
딕셔너리는 key와 value 쌍의 집합으로 이루어진 컬렉션 타입입니다. 딕셔너리는 {} 기호를 사용하여 생성할 수 있습니다. 특정 키(Key)를 이용하여 그에 상응하는 값을 가져올 수 있습니다. 딕셔너리는 많은 양의 데이터를 저장할 때, 데이터를 빠르게 검색하고 처리하는 데 유용합니다. 예를 들어, 사용자 정보를 딕셔너리로 저장하여 사용자가 로그인할 때마다 빠른 검색을 할 수 있습니다.
셋은 중복되지 않는 요소만을 포함하는 컬렉션 타입입니다. 셋은 {} 기호 내부에 쉼표로 구분된 값을 넣어서 생성할 수 있습니다. 셋은 데이터를 중복되지 않게 유지하기 때문에 데이터의 일관성을 지키는 데 유용합니다. 또한 셋은 데이터를 정렬하지 않으므로 검색 속도도 빠릅니다. 예를 들어, 셋을 사용하여 중복 제거된 사용자의 관심 주제를 저장할 수 있습니다.
따라서, 파이썬에서 리스트, 딕셔너리, 셋은 각각 다른 용도로 사용됩니다. 리스트는 많은 요소를 저장하며 반복문과 함께 사용하여 데이터를 처리하는 데 유용합니다. 딕셔너리는 데이터를 빠르게 검색하고 처리하는 데 유용합니다. 셋은 중복되지 않는 데이터를 유지하고 일관성을 지키는 데 유용합니다. 이러한 특징을 고려하여 각각의 컬렉션 타입을 적절하게 사용하면 더 나은 코드를 작성할 수 있습니다.