728x90
반응형
Sequence Data Type
- memership 연산: in 키워드 사용
- size 함수: len(seq)
- slicing 속성: seq[:-1]
- iterability: 반복문에 있는 데이터를 순회할 수 있음
- 문자열, 튜플, 리스트, 바이트 배열, 바이트 등 5개의 내장 시퀀스 타입이 있음
list
- 대괄호 []을 이용하여 선언
- 모든 자료형을 담을 수 있음
- 삽입, 수정, 삭제 등이 자유로움
- 순서가 있는 자료형으로 인덱싱 슬라이싱 가능
list_1 = [1, 2, 'character', ['two', 'three'], ('tuple', 'inlist')]
list_1[3]
>> ['two', 'three']
list_1[4][0]
>> 'tuple'
인덱싱
- 가장 바깥 괄호부터 접근
- 첫번째 위치부터 시작하여 인덱스 계산
list_1 = [[[1,2,3], [4], [5, [6,7,8,9]]], [10,11,[12,13,[14]]]]
list_1[1][2][2]
>> [14]
list_1[1][:3]
>> [2, 4, 6]
list_1[0][:2]
>> [[1, 2, 3], [4]]
리스트 연산
- 덧셈: 두 리스트를 연결하여 하나의 리스트로 만듦
- 곱셈: 리스트를 반복하여 연결하여 하나의 리스트로 만듦
list_1 = ['a', 'b', 'c']
list_2 = ['가', '나', '다']
list_1 + list_2
>> ['a', 'b', 'c', '가', '나', '다']
list_2 * 3
>> ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
리스트 method
- 삽입: append(), extend(), insert()
- A.append(x): 리스트 A 끝에 항목 x를 추가, A[len(A):] = [x]
- A.extend(x): 반복 가능한 모든 항목 c를 리스트 A에 추가, A+=x
- insert(i, x): 인덱스 위치 i에 항목 x를 삽입
people = ["버피", "페이스"]
people.append("자일스")
people
>> ["버피", "페이스", "자일스"]
people[len(people):] = ["젠더"]
people
>> ["버피", "페이스", "자일스", "젠더"]
people = ["버피", "페이스"]
people.extend("자일스")
people
>> ["버피", "페이스", "자", "일", "스"]
people += "윌로"
people
>> ["버피", "페이스", "자", "일", "스", "윌", "로"]
people += ["잰더"]
people
>> ["버피", "페이스", "자", "일", "스", "윌", "로", "잰더"]
people[len(people):] = "아스틴"
people
>> ["버피", "페이스", "자", "일", "스", "윌", "로", "잰더", "아", "스", "틴"]
- 수정: 인덱싱이나 슬라이싱
# 슬라이싱을 이용하여 짝수만 출력
num = [1,2,3,4,5,6,7,8,9,10]
print(num[1::2])
- 삭제: remove(x)
- 지우고자 하는 요소 중 가장 앞에 있는 요소 삭제
- x가 존재하지 않으면 ValueError 예외 발생
- 값 꺼내기: pop(x)
- 인덱스 x에 있는 항목을 제거하고 그 항목을 반환
- 인덱스를 생략하면 가장 마지막 요소를 반환
- 반환된 요소는 리스트에서 사라짐
- 정렬: sort
- 리스트의 요소를 크기순으로 정렬
- sort(key=None, reverse=False)
- key: 정렬해주고 싶은 기준, 기본적으로 < 비교에 의해 정렬(오름차순)
- reverse: True로 설정하게 되면 > 비교에 의해 정렬(내림차순)
- 뒤집기: reverse
- 리스트의 순서를 뒤집음
# 리스트 [1, 3, 4, 5, 2]를 [5, 4, 3, 2, 1]로 만든 후 출력하기
list_1 = [1, 3, 4, 5, 2]
# sort, reverse
list_1.sort()
list_1.reverse()
# sort reverse argument
list_1.sort(reverse=True)
- del문
- 리스트 인덱스를 지정하여 특정한 항목을 삭제
a = [-1, 4, 5, 7, 10]
del a[0]
a
>> [4, 5, 7, 10]
del a[2:3]
a
>> [4, 5, 10]
# 변수 a 자체를 삭제
del a
a
>> Traceback (most recent call last):
NameError: name 'a' is not defined
- index(x): 항목 x의 인덱스를 반환
- count(x) : 항목 x가 몇 개 들어 있는지 개수 반환
list comprehension
- [항목 for 항목 in 반복 가능한 객체]
- [표현식 for 항목 in 반복 가능한 객체]
- [표현식 for 항목 in 반복 가능한 객체 if 조건문]
- [표현식 for if 조건 else 저장할 값 항목 in 반복 가능한 객체]
References
728x90
반응형
'Python > Data Type' 카테고리의 다른 글
[Python] Collection Data Type - set (0) | 2022.04.25 |
---|---|
[Python] Sequence Data Type - byte, bytearray (0) | 2022.04.25 |
[Python] Sequence Data Type - tuple (0) | 2022.04.25 |
[Python] Collection Data Type - dictionary (0) | 2021.03.09 |
[Python] Sequence Data Type - string (0) | 2021.03.09 |