파이썬관련정보

파이썬코드 LISTS, DICTIONARIES, TUPLES

LISTS, DICTIONARIES, TUPLES 

변수를 사용하면 언제든지 변경할 수 있는 정보를 저장할 수 있습니다. 그러나 한 번에 하나의 정보(값, 문자열 등)를 저장합니다.

만약 우리가 시간이 지나도 변하지 않을 정보의 목록을 저장해야 한다면?

예를 들어 가족 구성원 연락처, 연월 이름 또는 여러 정보(연락처 이름 및 관련 전화 번호)가 있는 전화번호부가 있습니다.

목록, 튜플 및 사전이 여기에 포함됩니다. 코드에 사용하기 전에 차이점을 알 수 있도록 각각에 대해 간략하게 설명하겠습니다.

 

List 

이름에서 알 수 있듯이 값 목록입니다. 목록의 값은 0부터 계산됩니다(첫 번째 값은 0, 두 번째 1 등 번호가 매겨집니다). 목록에서 원하는 값을 제거하고 추가할 수 있습니다.

 

Tuples 

값을 수정할 수 없다는 점을 제외하면 목록과 유사합니다. 일단 생성된 값은 프로그램의 나머지 부분에 대해 정적으로 유지됩니다. 다시, 값은 0부터 시작하여 참조할 수 있도록 번호가 매겨집니다.

 

Dictionaries 

일반 사전과 마찬가지로 각 단어가 고유한 정의를 가진 단어 색인을 만들 수 있습니다. 파이썬에서, 그 단어는 '키'라고 불리는 반면 그것의 정의는 '값'이라고 불린다. 사전과 마찬가지로 어떤 단어나 키에도 번호가 매겨지지 않습니다. 사전의 값을 작성, 제거 및 수정할 수 있습니다.

 

변하지 않는 TUPLES 부터 시작해보자.

 

USING TUPLES 

튜플은 만들기 쉽습니다. 튜플 이름을 지정하고 튜플에 전달할 값을 나열합니다. 여기 일년 중 몇 달을 나르는 튜플이 있습니다.

 

months = (‘Jan’, ‘Feb, ‘Mar’, ‘Apr’, \ ‘May’,’ Jun’, ‘Jul’, ‘Aug, ‘Sept, ‘Oct, \ ‘Nov,’ ‘Dec’) 

구문론적으로 튜플은 쉼표로 구분된 값 순서입니다. 쉼표 뒤의 괄호 및 공백은 단순한 규약이며 튜플을 만드는 데 필요하지 않습니다. 게다가, 각 줄의 끝에 '\'가 있는 것을 알아차리셨나요? 그것은 선을 다음 행으로 옮기고, 큰 줄을 더 잘 읽을 수 있게 만듭니다.

일단 만들어진 파이썬은 번호가 매겨진 인덱스를 만들어 튜플의 값을 구성합니다. 값은 0에서 시작하여 튜플에 입력한 순서대로 인덱싱됩니다. 위의 튜플은 다음과 같습니다.

 

Index  Value 

0 January 1 Feb 2 Mar 3 Apr 4 May 5 Jun 6 Jul 7 Aug 8 Sep 9 Oct 10 Nov 11 Dec 

튜플을 '월'이라고 부르는 경우 인덱스를 사용하여 다음을 호출합니다.

 

>>>month [2] 

Mar 

또한 파이썬에는 매우 강력한 튜플 할당 기능이 있어 왼쪽의 변수에 값을 할당하고 오른쪽의 값을 할당할 수 있습니다. 따라서 이전에 만든 '월'에 대해 목록의 각 값에 값을 추가로 할당할 수 있습니다.

 

>>>(research, submit outline, discussion, study, seminars, presentation, field trip, submit paper, panel discussion, final presentation, semester ends) = months 

왼쪽에 있는 변수의 수가 튜플에 선언된 요소의 수와 같아야 합니다.

이 할당을 보는 간단한 방법은 튜플 패킹/언패킹으로 생각하는 것입니다. 포장된 경우 왼쪽의 값이 함께 포장됩니다.

 

>>> months = (‘Jan’, ‘Feb, ‘Mar’, ‘Apr’, \ ‘May’,’ Jun’, ‘Jul’, ‘Aug, ‘Sept, ‘Oct, \ ‘Nov,’ ‘Dec’) 

튜플 언팩에서 오른쪽의 값(월 이름)은 오른쪽의 변수/이름/범주로 압축 해제됩니다.

 

>>> months = (‘Jan’, ‘Feb, ‘Mar’, ‘Apr’, \ ‘May’,’ Jun’, ‘Jul’, ‘Aug, ‘Sept, ‘Oct, \ ‘Nov,’ ‘Dec’) 

>>>(research, submit outline, discussion, study, seminars, presentation, field trip, submit paper, panel discussion, final presentation, semester ends) = months 

>>> research 

Jan

>>> seminars 

May 

>>> submit outline 

Feb 

튜플의 또 다른 강력한 사용은 두 변수의 값을 교환해야 하는 경우입니다. 일반적으로 스와핑에는 임시 변수를 사용해야 합니다.

 

#Swap ‘b’ with ‘a’ 

temp = b

b=a

a = temp 

튜플은 이 문제를 한 줄로 해결한다.

 

(b, a) = (a, b) 

간단합니다. 오른쪽은 값의 튜플이고 왼쪽은 변수의 튜플입니다. 당연히 값의 개수는 항상 변수의 개수와 일치합니다.

 

>>> (a, b, c, d) = (4, 3, 2)

ValueError: need more than 3 values to unpack