( 출처 : https://soooprmx.tistory.com/entry/%EB%A6%AC%EC%8A%A4%ED%8A%B8%EC%97%90%EC%84%9C-%EC%A4%91%EB%B3%B5%EB%90%9C-%EC%9B%90%EC%86%8C%EB%A5%BC-%EC%A0%9C%EA%B1%B0%ED%95%98%EA%B8%B0 )

'Python > etc' 카테고리의 다른 글

파이썬 튜플,리스트,딕셔너리,집합의 인덱싱 및 정렬  (0) 2019.09.28

(용어 : mutable은 값이 변한다는 뜻이고, immutable은 값이 변하지 않는다는 의미이다.)



1. 튜플


● tuple(튜플)은 불변한 순서가 있는 객체의 집합입니다.

● list형과 비슷하지만 한 번 생성되면 값을 변경할 수 없습니다.

● list와 마찬가지로 다양한 타입이 함께 포함될 수 있습니다.


튜플의 기본 사용법(선언, 인덱싱) : https://wikidocs.net/16042


* 리스트에서 튜플 원소 추가

>>> lst = []

>>> lst.append( (1, 2) )

>>> lst.append( (2, 3) )

>>> lst

[ (1, 2), (2, 3) ]


* 정렬

example_tuples = [ ('A', 3, 'a'), ('B', 1, 'b'), ('C', 2, 'c') ]  # 플 원소로 이루어진 리스트
# 특정 인덱스로 오름차순 정렬 example_tuples.sort(key = lambda element : element[1])

(출처 : https://twpower.github.io/118-sort-list-elements-by-using-key)





2. 리스트


* 리스트에 원소 삽입할때, 주의할점 

>>> lst = []

>>> lst.append(1, 2)       -> 불가능

>>> lst.append(1)

>>> lst.append(2)


* 정렬

example_list = ['나는', '파이썬을', '잘하고', 싶다']

# 길이순으로 내림차순 정렬
example_list.sort(key = len, reverse = True)

example_list2 = ['a', 'python', 'ab', 'accc', 'b']


# 길이순으로 정렬하면서, 같은 길이에서는 알파벳 순으로 정렬

example_list2 = sorted(example_list2, key = lambda x: (len(x), x))





3. 딕셔너리


>>> dic = {} 


● 딕셔너리 타입은 immutable한 키(key)와 mutable한 값(value)으로 맵핑되어 있는 순서가 없는 집합입니다.

● 값은 중복될 수 있지만, 키가 중복되면 마지막 값으로 덮어씌워집니다. ★★★

● 순서가 없기 때문에 인덱스로는 접근할수 없고, 키로 접근 할 수 있습니다.

● mutable 한 객체이므로 키로 접근하여 값을 변경할 수 있습니다.

● 새로운 키와 값을 아래와 같이 추가할 수 있습니다.


딕셔너리 선언 & 추가 & 변환 & For문 : https://wikidocs.net/16043


* 정렬

dic = { 'a': 7, 'bc': 5, 'ba': 5 }  
# key값으로 오름차순 정렬 sdic = sorted(dic.items()) # items() 함수를 호출하면, key-value쌍이 tuple로 구성된 리스트가 리턴
>>> [('a': 7), ('ba': 5), ('bc': 5)]

import operator


# value값으로 오름차순 정렬

sdic2 = sorted(dic.items(), key = operator.itemgetter(1)) # 1번째 인덱스 기준으로 정렬

>>> [('bc': 5), ('ba': 5), ('a': 7)]


# 1번째 인덱스 기준으로 정렬후, 같은 값이 나온다면 0번째 인덱스 기준

sdict3 = sorted(dic.items(), key = operator.itemgetter(1, 0))

>>> [('ba': 5), ('bc': 5), ('a': 7)]




4. 집합 


 >>> s = set()


● 순서가 없고, 집합안에서는 unique한 값을 가집니다.

● 그리고 mutable 객체입니다.

● 중괄호를 사용하는 것은 dictionary와 비슷하지만, key가 없습니다. 값만 존재합니다.


집합 선언 & 추가 : https://wikidocs.net/16044


'Python > etc' 카테고리의 다른 글

리스트 중복 원소 제거방법 (순서 유지)  (0) 2019.11.01