Chapter 5. 파이썬 기본 문법

Byabya·2022년 3월 16일
0

5.1 리스트

5.1.1 리스트형(1)

  • 변수에 여러 값을 대입할 수 있는 리스트형(list) 변수
  • 리스트에 저장되어 있는 값 하나하나 요소, 객체(object)로 기술
  • 배열처럼 생각
##ex1)
["코끼리","기린","팬더"]
[1,5,2,4]

##ex2) 
##변수 c에 세 개의 문자열 저장
c = ["red","blue","yellow"]
print(c) ##['red','blue','yellow']
##변수 c의 자료형 출력, output : <class 'list'>
print(type(C))

5.1.2 리스트형(2)

  • 다른 자료형이 섞여 있어도 괜찮음.

5.1.3 리스트 안의 리스트

  • 리스트의 요소로 리스트형 저장 가능
  • 중첩 구조 형성 가능
print([[1,2],[3,4],[5,6]])

5.1.4 리스트에서 값 추출

  • 인덱스 번호 : 리스트 요소는 차례대로 0,1,2,3...값 부여
  • 가장 마지막 요소는 -1, 끝에서 두 번째 요소는 -2처럼 저장
    리스트의 각 요소는 리스트[인덱스번호]로 지정
##리스트값 꺼내기
a = [1,2,3,4]
print(a[1])  ##output :2
print(a[-2]) ##output : 3

5.1.5 리스트에서 리스트 추출(슬라이스)

  • 리스트 속 새로운 리스트 추출

    '리스트[start:end]', 인덱스 start번호부터 end-1까지 추출

alphabet = ["a","b","c","d","e"]
print(alphabet[1:5]) ##output : b,c,d,e
print(alphabet[:5]) ##output : a,b,c,d,e

5.1.6 리스트 요소 갱신 및 추가

  • 리스트 요소(객체)를 갱신하거나 추가 가능

    '리스트[인덱스 번호] = 값'
    ##저장한 인덱스 번호의 요소를 갱신

  • 리스트에 요소를 추가하고 싶은 경우 리스트와 리스트를 '+'를 사용하여 연결한다. 여러 요소를 동시에 추가하는 것도 가능

    '리스트명.append(추가할 요소)'
    ##대신 append()를 사용할 경우 여러 요소를 동시에 추가할 수는 없음.

1) 리스트[인덱스번호] = '값'
alphabet = ["a","b","c","d","e"]
alphabet[0] = "A"
alphabet[1:3] = ["B","C"]
print(alphabet) ##output : ['A','B','C','d','e']

2)리스트명.append(추가할 요소)
alphabet = alphabet + ["F"]
alphabet += ["g","h"]
alphabet.append("i")
print(alphabet) ## output : ['A','B','C','d','e','f','g','h','i']

5.1.7 리스트 요소 삭제

  • 리스트 요소를 삭제

    'del 리스트[인덱스번호]'

alphabet = ["a","b","c","d","e"]
del alphabet[3:]  ## d,e 삭제
del alphabet[0]  ## a 삭제
print(alphabet)  ##print('b','c')

5.1.8 리스트형의 주의점

  • 리스트 변수를 다른 변수에 대입한 뒤 변수에서 값을 바꾸면 원래 변수의 값도 바뀌어 버린다.
    ex) y = x 대신 y = x[:] 혹은 y = list(x) 사용

5.2 딕셔너리

5.2.1 딕셔너리형

  • 딕셔너리형은 리스트형처럼 여러 데이터를 다룰 때 사용
  • 인덱스로 이루어진 리스트와는 다르게 키(key)와 값(value)로 이루어져 있음
ex)
dic = {"Japan" : "Tokyo","Korea" : "Seoul"}
print(dic)  ## {'Japan':'Tokyo', 'Korea':'Seoul'}

5.2.2 딕셔너리 요소 추출

딕셔너리 요소(키 말고) 추출할 때
'딕셔너리명["키"]

ex)
dic = {"Japan" : "Tokyo","Korea" : "Seoul"}
print(dic["Japan"]) ##Tokyo

5.2.3 딕셔너리 갱신 및 추가

  • 1) 딕셔너리 값을 갱신할 때
    '딕셔너리명["값을 갱신할 키"] = 값'
  • 2) 딕셔너리 요소 추가할 때
    '딕셔너리명["추가할 키"] = 값'

5.2.4 딕셔너리 요소 삭제

dic ={"Japan":"Tokyo","Korea":"Seoul","China":"Beijing"}
del dic["China"]
print(dic)
##output : {'Japan':'Tokyo','Korea':'Seoul'}

5.3 while문

5.3.1 while문(1)

  • 주어진 조건식이 False가 될때까지 처리를 반복(루프loop)
n = 2
while n>0 :
  print(n)
  n -= 1  ##output : 2 1 (0이 되면 종료)

5.3.2 while문(2)

  • while문은 파이썬에서 자주 사용
  • 조건식의 변숫값을 갱신하지 않거나 조건식이 항상 성립되도록 하면 무한정 반복, 무한루프 발생하지 않도록 주의

5.3.3 while과 if

x = 5
while x!=0 :
  x -=1
  if x!=0 :
    print(x)
  else :
    print("Bang!")
  ## output :
  4 3 2 1 Bang!

5.4 for문

5.4.1 for문

- 리스트의 요소를 모두 출력하고 싶을 때 사용
> - 'for 변수 in 데이터 셋'
- 데이터셋은 리스트형이나 딕셔너리형처럼 복수의 요소
- for문은 list형을 가리킴

animals = ["tiger","dog","elephant"]
for animal in animals :
print(animal)
##output : tiger dog elephant

5.4.2 break

  • break를 사용해서 반복처리를 종료한다.
  • 주로 if문과 사용

5.4.3 continue

  • break와 마찬가지로 if문 등과 조합하여 사용하나 break와 달리 특정 조건일 때 루프를 한번 건너뛴다.

5.5 추가설명

5.5.1 for문에서 index 표시

  • for문을 활용한 루프에서 리스트의 인덱스 확인이 필요할 때가 있다.
  • 이때는 enumerate()함수를 사용하여 인덱스가 표함된 요소를 찾는다.

    for x, y in enumerate ("리스트형") :
    ##for 안에서는 x, y를 사용하여 작성한다.
    x는 정수형의 인덱스, y는 리스트에 포함된 요소이다.

    list = ["a","b"]
    for index, value in enumerate(list) :
      print(index, value)
      
    ##output :
    0 a 
    1 b 
    

5.5.2 리스트 안의 리스트 루프

  • 중복 리스트일 경우, for문을 이용하여 꺼냄
list = [[1,2,3],[4,5,6]]
for a,b,c in list :
    print(a,b,c)
##output :
1 2 3 
4 5 6

5.5.3 딕셔너리형의 루프

  • 키와 값을 모두 변수로 하여 반복한다.
  • items()를 사용한다.

    items()를 사용.
    'for key의 변수명, value의 변수명 in 변수(딕셔너리형).items():'

fruits = {"strawberry":"red","peach":"pink","banana":"yellow"}
for fruit, color in fruits.items() : 
   print(fruit +"is"+color)

##output :
 strawberry is red
 peach is pink
 banana is yellow
profile
@___noyesa

0개의 댓글