파이썬 자료형 (리스트)

윤태영·2023년 11월 6일
0
post-thumbnail

이미지 출처: https://wikidocs.net/192339

리스트 사용법

  • 리스트 선언
  • 리스트 특징
  • 리스트 인덱싱
  • 리스트 슬라이싱
  • 리스트 함수
  • 리스트 삭제

파이썬에서 리스트는 다양한 항목들을 순서대로 저장하는 데 사용됩니다. 리스트는 대괄호 [ ] 안에 쉼표로 구분된 값들을 포함하여 생성할 수 있으며 다른 언어의 배열과 유사하지만, 파이썬의 리스트는 서로 다른 타입의 데이터를 동시에 저장할 수 있습니다.🙄

리스트 선언 📕

  • 리스트는 자료구조에서도 중요
  • 리스트 자료형(순서O 중복O, 수정O, 삭제O)
a = [] 
b = list()
c = [70, 75,80, 85]
d = [1000, 10000, 'Ace', 'Base', 'Captine'] # 서로다른 자료형을 한 리스트 안에 담을 수 있다.(숫자,문자)
e = [1000, 10000,['Ace', 'Base', 'Capine']] # 중첩 리스트로 리스트 안에 또 다른 리스트가 포함되어 있는 구조이다
f = [21.42, 'footnar', 3, 4, False, 3.141592]

리스트 인덱싱 📕

리스트의 특정 위치에 있는 항목에 접근하거나 수정할 수 있게 해줍니다. 파이썬의 인덱싱은 0부터 시작합니다. 즉, 리스트의 첫 번째 항목은 인덱스 0에 있고, 두 번째 항목은 인덱스 1에 있습니다.

a = [] 
b = list()
c = [70, 75,80, 85]
d = [1000, 10000, 'Ace', 'Base', 'Captine']
e = [1000, 10000,['Ace', 'Base', 'Capine']]
f = [21.42, 'footnar', 3, 4, False, 3.141592]
print('d - ', type(d), d)
>>> d -  <class 'list'> [1000, 10000, 'Ace', 'Base', 'Captine']
print('d - ', d[1]) 
>>> d -  10000 # 리스트 d에서 두번째 위치에 있는 10000을 가져온다.
print('d - ', d[0]+ d[1] + d[1]) # 1000+10000+10000
>>> d -  21000
print('d - ', d[-1]) # 리스트 d에서 가장 마지막에 위치해있는 값을 가져온다.
>>> d -  Captine
print('e - ', e[-1][1]) # 중첩리스트에 있는 값을 가져오려면 인덱싱을 2번 사용하면 된다. 중첩된 리스트에서 2번째 값을 가져온다.
e -  Base
print('e - ', list(e[-1][1])) # 리스트로 형변환, 문자열은 시퀀스
e -  ['B', 'a', 's', 'e']

리스트 슬라이싱 📕

예전에 배웠던 문자열 슬라이싱과 같은 방식이다

a = [] 
b = list()
c = [70, 75,80, 85]
d = [1000, 10000, 'Ace', 'Base', 'Captine']
e = [1000, 10000,['Ace', 'Base', 'Capine']]
print('d - ', d[0:3])
d -  [1000, 10000, 'Ace']
print('d - ', d[2:])
d -  ['Ace', 'Base', 'Captine']
print('e - ', e[-1][1:3])
e -  ['Base', 'Capine']
print('Test + c[0]', 'Test' + str(c[0]))
>>> Test + c[0] Test70

리스트 연산 📕

리스트도 더하기, 곱하기 같은 연산이 가능하다.

c = [70, 75, 80, 85] 
d = [1000, 10000, 'Ace', 'Base', 'Captine']
print('c + d', c+d) # 리스트안에 있는 값들을 모두 하나의 리스트로 합친다고 생각하자
>>> c + d [70, 75, 80, 85, 1000, 10000, 'Ace', 'Base', 'Captine']
print('c * 3', c*3) # 순서는 모두 유지, 리스트곱하기 정수형도 리스트로 출력
>>> c * 3 [70, 75, 80, 85, 70, 75, 80, 85, 70, 75, 80, 85] 

리스트 값 비교 📕

c = [70, 75,80, 85] 
d = [1000, 10000, 'Ace', 'Base', 'Captine']
print(c == c[:3] + c[3:]) # [70, 75, 80] + [85] == c
>>> True

identity(id) 📕

c = [70, 75, 80, 85] 
temp = c 
print(temp, c)
>>> [70, 75, 80, 85] [70, 75, 80, 85]
print(id(temp)) # 둘다 같은 집주소를 보고있고, 어느한쪽이 변경되면 똑같은 결과값을 볼수있다. 파이썬은 효율성때문에 리스트 역시 하나의 주소값을 공유
>>> 2480851610752
print(id(c))
>>> 2480851610752

리스트 수정&삭제 📕

c = [70, 75,80, 85] 
c[0] = 4
print('c - ', c)
>>> c -  [4, 75, 80, 85]
c[1:2] = ['a', 'b', 'c'] 
print('c - ', c)
>>> c -  [4, 'a', 'b', 'c', 80, 85]
c[1] = ['a', 'b', 'c']  # 하나의 리스트 안에 또 리스트가 들어가 중첩되어 위의 슬라이싱과 결과값은 같지만 리스트가 중첩되있는 차이가 있다.
print('c  - ', c)
>>> c  -  [4, ['a', 'b', 'c'], 'b', 'c', 80, 85]
c[1:3] = [] # 삭제, 리스트안의 원소를 삭제할때 보통 이방법을 쓰지는 않고 밑에서 배운다.
print('c - ', c)
>>> c -  [4, 'c', 80, 85]

리스트 함수 📕

리스트에 사용되는 여러가지 함수를 알아보자.

  • append
  • sort
  • reverse
  • index
  • insert
  • remove
  • del
a = [5, 2, 3, 1, 4]
a.append(10) # 끝에다가 데이터를 추가하거나 수정하고싶을때 append사용
>>> a -  [5, 2, 3, 1, 4, 10]
a.sort() # 오름차순으로 정렬
>>> a -  [1, 2, 3, 4, 5, 10]
a.reverse() # 반대로 위치구조를 바꿔서 출력
>>> a -  [10, 5, 4, 3, 2, 1]
print('a - ', a.index(3), a[3]) # 원소를 가져올때 index를 사용할 수 도잇다. 
>> a -  3 3
a.insert(2,7) # 2번째 위치에 7을 넣자 # 2번째 위치에 7이라는 값을 넣는다. 기존의 2번째 위치에 있는값대신 넣는건 아니다.
>>> a -  [10, 5, 7, 4, 3, 2, 1]
del a[2] # 2번째 위치에 있는값인 7을 삭제한다.
>>> a -  [10, 5, 4, 3, 2, 1]
  • remove
  • pop
  • count
  • extend
a = [5, 2, 3, 1, 4]
a.remove(3) # remove는 del과 다르게 제거하고자 하는 값을 넣으면 제거된다. 데이터가 많을때 유용
>>> a -  [5, 2, 1, 4]
print('a - ', a.pop()) # 끝에있는 원소를 꺼내서 제거(가장 나중에 들어온것), 자료구조에서 문제를 풀때 많이 사용
>>> a -  4
print('a - ', a)
>>> a -  [5, 2, 1]
print('a - ', a.count(2)) # a에 2의 갯수가 1개가 있다. 내가 원하는 값이 몇개가 있는지 찾을때, 또는 있는지 없는지,중복인지 count사용
>>> a -  1
ex = [8, 9]
a.extend(ex)  # 한 리스트의 끝에 다른 리스트의 모든 항목을 추가하는 데 사용됩니다. 기존의 리스트 a에 리스트ex를 붙인다.
print('a - ', a)
>>> a -  [5, 2, 1, 8, 9] 

반복문 활용 📕

반복문은 나중에 배우니까 아래와 같이 반복 문과 함께 사용될 수 있다는 것만 알아두자.

while a:
    data = a.pop()
    print(data)
>>> 4
>>> 1
>>> 3 
>>> 2
>>> 5

다음에는 튜플을 알아보자!😎

출처 : 인프런

profile
ice blue

0개의 댓글