파이썬 기초문법 3

지리산근육곰·2021년 8월 10일
0

Python기초문법

목록 보기
3/8
post-thumbnail

4. List

4.1 리스트 생성

L = [1, 2, 3]  ## [] 를 사용하여 list 생성
type(L)

L1 = [] ## 빈 리스트 생성
type(L1)

L2 = list()
type(L2)

# 리스트는 다양한 type의 데이터를 포함 할 수 있다.
L3 = [1, "Hello", 3.14, [1, 2, 3]]
L3

type(L3)

# Matrix 생성
LM = [[1, 2, 3],
      [4, 5, 6]]
LM  ## 실제로는 matrix가 아니고 두개의 리스트를 포함 한 리스트이다.

4.2 List Indexing

4.2.1 1차원 Indexing

L = [3, 1, 6, 5, 2, 4] ##index order 는 0부터 시작이다 
      				   ## [0, 1, 2, 3, 4, 5] , [-6, -5 , -4, -3, -2, -1]
len(L)

L[0]

L[6] ## index는 5까지 임으로 6은 안뜬다 

L[-1]  ## - 을 사용 할 경우 거꾸로 사용한다.

		## negative 를 사용하는 이유는 뒤에서 몇번 째 를 사용하기 위해서다

L = [3, 1, 6, 5, 2, 4] ## 6개의 데이터에서 뒤에서 6번째인 경우
L[-6]

L[-5]

L[-7]  ## 마찬가지로 error가 뜬다.

L[1+3]

4.2.2 다차원 Indexing

LM = [[1, 2, 3],
      [4, 5, 6],
      [7, 8, 9]]

LM[0][1] ## 1st row 2nd col

LM[2][0] ## 3rd row 1st col

4.3 List Slicing

L = [1, 2, 3, 4, 5, 6]

L[0:2] ## L[x:y] index x 이상 y 미만

L[2:5]

L[ : 3] ## L[ : y] 앞을 빈칸으로 할 경우 앞에서부터 y개의 리스트를 가져온다.

L[1 : ]  ## L[x : ] 을 하면 x에서 부터 끝까지 불러온다.

L[0:] ## 처음부터 끝까지

L[0:len(L)] ## 위 와 마찬가지이다. 

L[ : -1] ## == L[ :len(L)-1] == L[ : 5-1] == L[ : 4]

L[-2: ]

# 문자열도 가능하다
s = "Hello World!"
s[:-1]  ## 뒤에서 1개를 버린다

s[:-3]  ## 뒤에서 3개를 버린다

4.4 리스트 연산하기

4.4.1 리스트 더하기

L = [1, 2, 3]
L2 = [4, 5]
L3 = L + L2
L3

4.4.2 리스트 곱하기

L3 * 3  ## list에 있는 값에 곲하기가 아닌 같은 list를 n번 더한다.

4.5 리스트 수정하기

L3[0] = 7  ## index를 지정하고 바꾼다.
L3

L3[0:1] = 10  ## 한번에 하나씩 지정된다.

4.6 리스트 원소 추가하기 append()

L = []

L.append(4)
L.append(8)
L.append(4+8)
L

4.7 리스트 원소 정렬하기 sort()

L = [6, 5, 4, 3, 2, 1]
L

L.sort() ##오름차순
L

 L.sort(reverse=True) ## 내림차순
 L

4.8 리스트 뒤집기 reverse()

  • sort()의 경우 오름 혹은 내림 차순으로 정렬을 한다.
  • reverse()의 경우 순서만 변경한다.
L = [16, 3, 8]
L.reverse()
L

참고

L = [1, 2, 3, 4, 5, 6] 
L[::2]  ## list의 L[0:len(L):2] 전체에서 0 index에 2씩 더해진 index를 출력해 달라.

L[::3]

L = [3, 2, 5, 6, 1, 4]
L[::-1]  ## 처음부터 끝까지를 -1을 빼면서 출력 해라

4.9 리스트 원소 제거하기 pop()

L = [3, 2, 5, 6, 1, 4]



L.pop()  ## index의 끝에서부터 제거한다.
L

L = [3, 2, 5, 6, 1, 4] ##pop(index)를 사용해서 특정 정보를 제거 할 수 있다.
L.pop(2)
L

4.10 list 주소 복사

L = [1, 2, 3, 4, 5, 6]

#L 과 L[:] 는 같은 걸 출력한다.
print(L)
print(L[:])

#그러나 id는 다르다
print(id(L))
print(id(L[:]))  ## 이경우 어드레스가 데이터를 복사해서 다른곳에 저장한 것이다.

#List 복사하기
L2 = L
id(L2)  ## Same id as L

L2 = L[:]
id(L2)  ## Same is as L[:]
        ## 이렇게 될 경우 L의 데이터를 건드리지 않고 L2에 새롭게 지정해서 편집 가능하다.

0개의 댓글