'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
리스트 중복 원소 제거방법 (순서 유지) (0) | 2019.11.01 |
---|