[Grammer] List vs Tuple

Saemi Min·2023년 1월 28일
0

Python Grammer

목록 보기
4/8
post-thumbnail

List (리스트)

  • 요소를 삭제하거나 변경 가능
  • 가변성(mutable)
  • 순차적(iterable)
  • list + list 형식으로 서로 다른 리스트를 붙임 가능
  • 서로 다른 type의 요소들을 담을 수 있음.

List 자료형

리스트 표현

a=[] #비어 있는 리스트 생성
a = list() #비어 있는 리스트 생성
b=[1, 2, 3] #숫자를 요솟값으로 가진 리스트
c = ['Life', 'is', 'too', 'short'] #문자열을 요솟값으로 가진 리스트
d = [1, 2, 'Life', 'is'] #숫자와 문자열을 함께 요솟값으로 가진 리스트
e = [1, 2, ['Life', 'is']] #리스트 자체를 요솟값으로 가진 리스트

리스트 인덱싱 및 슬라이싱

<인덱싱>
#이중 리스트
a = [1, 2, 3, ['a', 'b', 'c']]
a[-1] #['a', 'b', 'c']
a[-1][0] #'a'

<슬라이싱>
a = [1, 2, 3, 4, 5]
b = a[:2] #[1, 2]
c = a[2:] #[3, 4, 5]

리스트 연산

a = [1, 2, 3]
b = [4, 5, 6]

<더하기>
a + b #[1, 2, 3, 4, 5, 6]

<반복하기>
a * 3 #[1, 2, 3, 1, 2, 3, 1, 2, 3]

<길이 구하기>
len(a) #3

리스트 수정 및 삭제

a = [1, 2, 3, 4, 5]

<수정>
a[2] = 4 #a = [1, 2, 4, 4, 5]

<삭제>
del a[1] #a = [1, 3, 4, 5]
del a[2:] #a = [1, 2]

리스트 함수

<리스트 요소 추가(append)>
a = [1, 2, 3]
a.append(4) #[1, 2, 3, 4]
a.append([5,6]) #[1, 2, 3, 4, [5, 6]]

<리스트 정렬(sort)>
a = [1, 4, 3, 2]
a.sort() #[1, 2, 3, 4] # 정렬된 리스트 자체를 반환

그 외,
sorted(a) #정렬된 복사본 반환


<리스트 뒤집기(reverse)>
a = ['a', 'c', 'b']
a.reverse() #['b', 'c', 'a']

<인덱스 반환(index)>
a = [1,2,3]
a.index(3) #2
a.index(1) #0

<리스트에 요소 삽입(insert)>
a = [1, 2, 3]
a.insert(0, 4) #[4, 1, 2, 3]

<리스트 요소 제거(remove)>
a = [1, 2, 3, 1, 2, 3]
a.remove(3) #[1, 2, 1, 2, 3]

<리스트 요소 끄집어내기(pop)>
a = [1,2,3]
a.pop() #3
a #[1, 2]

<리스트에 포함된 요소 x의 개수 세기(count)>
a = [1,2,3,1]
a.count(1) #2

<리스트 확장(extend)>
a = [1,2,3]
a.extend([4,5]) #[1, 2, 3, 4, 5]
=(a += [4, 5])

<리스트 복사(copy)>
a = [1,2,3]
b=a.copy() #b=[1,2,3]

그 외,
b=list(a)
b=a[:]

<다양한 method>
a = [1,2,3]

2 in a #리스트 a에 2값이 들어있으면 True, 없다면 False 반환
max(a) #요소 중 최대값 3
min(a) #요소 중 최소값 1

Tuple (튜플)

  • 요소를 삭제하거나 변경 불가능
  • 불변성(immutable)
  • 순차적(iterable)
  • tuple + tuple 형식으로 서로 다른 리스트를 붙임 가능
  • 서로 다른 type의 요소들을 담을 수 있음.
  • tupel은 append(), remove() 메소드가 없음
  • 처음 선언 시, 요소와 자료구조를 선언해야 함

Tuple 자료형

List vs Tuple

  • List는 []로 둘러쌈, 요소 값의 생성, 삭제, 수정 가능
  • Tuple은 ()로 둘러쌈, 요소 값을 바꿀 수 X

튜플 표현

t1=() #비어있는 튜플 생성
t2=(1,) #1개의 요소만을 가질 때 요소 뒤에 콤마(,)를 반드시 붙여야 함!
t3=1, 2, 3 #괄호를 생략해도 됨!
t4=('a', 'b', ('ab', 'cd'))

튜플 인덱싱 및 슬라이싱

t1 = (1, 2, 'a', 'b')
<인덱싱>
t1[0] #1
<슬라이싱>
t1[1:] #(2, 'a', 'b')

튜플 연산

t1 = (1, 2, 'a', 'b')
t2 = (3, 4)

<더하기>
t3 = t1 + t2 #(1, 2, 'a', 'b', 3, 4)

<곱하기>
t3 = t2 * 3 #(3, 4, 3, 4, 3, 4)

<길이 구하기>
len(t1) #4

튜플 함수

튜플은 요솟값을 변경할수 없기 때문에 sort, insert, remove, pop과 같은 내장 함수가 없다.

t1 = (1, 2, 'a', 'b')

t=(seq) #튜플로 변환
t1.count('a') #요소 개수 1
t1.index('a') #요소 위치 인덱스 반환 2
max.(t) #요소 중 최대값
min.(t) #요소 중 최소값
profile
I believe in myself.

0개의 댓글