/

안녕하세요!  코딩 샐러드 입니다.

오늘은 파이썬의 기초인 '변수'와 '자료형'에 대해서 쉬운 예시를 들어 설명해 드리려고 합니다. 

1. 변수(Variables)와 변수 선언과 할당(Variable Declaration and Assignment)

변수란 어떤 값을 담는 상자라고 생각하면 됩니다. 예를 들어, 초등학교 시절 우리가 풀었던 수학 문제에서 '수연이가 가진 사과의 개수를 x로 두자'라고 했던 것을 기억하시나요? 그 때의 x가 바로 변수입니다. 파이썬에서는 이렇게 변수를 선언하고 값을 할당합니다: x = 10.

변수 선언과 할당(Variable Declaration and Assignment)

변수 선언은 변수를 만드는 것이고, 할당은 변수에 값을 넣는 것입니다. 예를 들어, x = 10에서 'x'라는 변수를 선언하고, '10'이라는 값을 할당한 것입니다.

2. 변수의 스코프(Variable Scope)

변수의 '스코프'는 변수가 어디까지 효력을 발휘하는지를 나타냅니다. 예를 들어, 집 안에서만 먹을 수 있는 사탕이 있다면 그 사탕의 스코프는 '집 안'입니다. 파이썬에서도 이와 비슷하게, 함수 안에서 만든 변수는 그 함수 안에서만 사용할 수 있습니다. 이를 '지역변수'라고 합니다. 반면에, 함수 밖에서 만든 변수는 어디서든 사용할 수 있습니다. 이를 '전역변수'라고 합니다.

C++ 기반으로 작성한 글이지만, 이 글이 변수의 스코프를 이해하는데 도움이 될 것 입니다. 

3. 파이썬 자료형과 파이썬 Data type의 특징(Features of Python Data Types)

변수에 담기는 값들은 각각의 특징을 가지고 있습니다. 예를 들어, '10'은 숫자, '안녕하세요'는 문장입니다. 이렇게 값의 종류를 나타내는 것이 바로 '자료형'입니다.

파이썬의 자료형은 각각의 특징을 가지고 있습니다. 예를 들어, 문자열은 더하기 연산을 통해 문자열을 이어붙일 수 있고, 숫자형은 사칙연산이 가능합니다. 리스트, 튜플, 딕셔너리는 여러 개의 값을 한 번에 담을 수 있습니다. 이렇게 각 자료형에 따라 사용할 수 있는 연산이나 메서드가 다릅니다.

문자열(Strings)

문자열은 '문자'들의 '열'이라는 뜻입니다. 즉, 글자들이 줄줄이 이어진 것을 말합니다. 예를 들어, name = "수연"이라고 하면, "수연"이라는 문자열이 name이라는 변수에 저장되는 것입니다.

숫자형(Numeric Types)

숫자형은 숫자를 나타내는 자료형입니다. 예를 들어, age = 12라고 하면, 12라는 숫자가 age라는 변수에 저장되는 것입니다.

리스트(Lists)

리스트는 여러 값들을 한 번에 담을 수 있는 상자라고 생각하면 됩니다. 예를 들어, fruits = ["사과", "바나나", "포도"]라고 하면, "사과", "바나나", "포도"라는 세 개의 값이 fruits라는 리스트 변수에 저장되는 것입니다.

리스트에 대한 상세한 설명은 아래 링크를 참고하시면 도움이 될 것 입니다.

1) 파이썬 리스트 - 기본 이해하기
2) 리스트 Comprehension

튜플(Tuples)

튜플은 리스트와 비슷하지만, 한번 만들어진 튜플은 변경할 수 없습니다. 예를 들어, days = ("월", "화", "수", "목", "금", "토", "일")이라고 하면, 이렇게 요일은 변하지 않기 때문에 튜플로 표현하는 것이 적절합니다.

튜플에 대한 사용법은 아래를 참고하세요

1) 튜플, 언제사용하고 리스트와 차이점은?

딕셔너리(Dictionaries)

딕셔너리는 키와 값이 한 쌍을 이루는 자료형입니다. 예를 들어, student = {"name": "수연", "age": 12}라고 하면, "name"이라는 키에는 "수연"이라는 값이, "age"라는 키에는 12라는 값이 저장되는 것입니다.

이렇게 파이썬에서는 다양한 자료형을 제공하며, 각 자료형에 따라 할 수 있는 연산이나 사용할 수 있는 함수들이 다릅니다.

1) 파이썬 딕셔너리 Dicitionary 자료구조 Key & value

4. 자료형 변환(Type Conversion)

자료형 변환은 한 자료형을 다른 자료형으로 바꾸는 것을 의미합니다. 예를 들어, '10'이라는 문자열을 10이라는 숫자로 바꿀 수 있습니다. 이를 파이썬에서는 int('10')으로 표현합니다. 반대로 숫자를 문자열로 바꾸려면 str(10)으로 표현하면 됩니다.

이제 파이썬의 기본적인 변수와 자료형에 대해 알아보았습니다. 파이썬은 이런 기본적인 요소들을 조합해서 복잡한 프로그램을 만들어냅니다.

그래서 이런 기초가 중요하답니다. 다음 시간에는 실제로 파이썬 코드를 작성하면서 이해를 더 깊게 해보도록 하겠습니다.

 

Html에서 Pyscript 사용하기

Html에서 파이썬 코드를 바로 실행할 수 있으면 좋겠다고 생각한적 있으신가요? Pyscript를 사용하면 가능 합니다.
오늘은 html파일에서 pyscript를 사용하는 방법에 대해서 알아보겠습니다.

pyscript 추가하기

우선 pyscript를 사용하기 위해서는태그안에 아래를 입력해야 합니다.

<!DOCTYPE html>
<head>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
</head>

그러면 이제 바로 html안에서 파이썬을 실행할 준비가 된 것 입니다.

실행 예제

아래 예제를 보면 예상할 수 있다시피, import 하여 사용하는 것 역시 가능합니다. 예제는태그 안에서 현재 시간을 출력하는 예제 코드에요.
우선 datetime을 import하고, datetime.now()을 입력하여 현재시간을 출력하는 파이썬 코드를 실행해볼게요.

from datetime import datetime
now = datetime.now()
print(now)

아래와 같이 화면이 출력되는 것을 확인할 수 있습니다. pyscript로 실행하면 어떻게 나오는지 볼까요?


이제 이 코드를 html에서 실행해보겠습니다. html 내부에서 실행하고자 하는 위치에 하면 됩니다.
body 태그 안에서 실행하는 예시 입니다.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>PyScript Hello World</title>
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>

  <body>
    Hello world! <br>
    This is the current date and time, as computed by Python:
    <py-script>
        from datetime import datetime
        now = datetime.now()
        print(now)
    </py-script>
  </body>
</html>

실행 결과

패키지 활용하기

파이썬에 유용한 package를 쓰려면? tag 안에 사용할 패키지를 기입하면 사용할 수 있습니다.

<py-config>
    packages = [
      "matplotlib"
    ]
 </py-config>

아래 예제를 한번 봐보겠습니다.
matplotlib을 활용하여 div id=”matplotlib-lineplot” 인 태그안에 결과를 출력하는 예제 입니다. 출력할 태그를 지정해주어야 결과가 나옵니다.
py-script 태그안에서 output에 원하는 div id 값을 입력하면 됩니다.
예제에서는 matplotlib-lineplot를 입력하겠습니다.

<body>
    Hello world! <br>
    This is the current date and time, as computed by Python:
        <py-config>
            packages = [
              "matplotlib"
            ]
         </py-config>
        <div id="matplotlib-lineplot"></div>
        <py-script output="matplotlib-lineplot">
            # Python Code

            # importing the matplotlib library
            import matplotlib.pyplot as plt
            fig, ax = plt.subplots()
            # x axis
            x = ["Python", "C++", "JavaScript", "Golang"]
            # y axis
            y = [10, 5, 9, 7]
            plt.plot(x, y, marker='o', linestyle='-', color='b')
            # Naming the x-label
            plt.xlabel('Language')
            # Naming the y-label
            plt.ylabel('Score')
            # Naming the title of the plot
            plt.title('Language vs Score')
            fig
         </py-script>
  </body>

아래와 같이 실행되는 것을 확인할 수 있습니다.

클래스 정의의 형태는 아래와 같습니다.
클래스 뒤에 이름을 적고 콜론(:)으로 구분지어 줍니다.
다음 줄 부터는 들여쓰기를 하고, 필요한 statement를 적어주면 됩니다.

class ClassName:
    <statement-1>
    .
    .
    .
    <statement-N>

클래스안에 멤버변수, 메소드를 추가할 수 있습니다.

먼저 클래스 변수를 하나 다뤄보도록하겠습니다.
Test class 안에 변수 i를 하나 선언해보겠습니다.
이렇게 클래스안에 있는 변수를 멤버 변수라고 해요.

class Test:
        i = 0
class_test = Test() #class_test 객체 생성
class_test.i # 멤버변수 i에 접근
0
class_test.i = 3 # 멤버변수 i 수정
class_test.i
3

파이썬에서는 아래와 같이 init 함수를 통해서
클래스 멤버변수 값을 초기화 하여 생성하는 것이 가능합니다.

init 함수의 첫번째 자리에는 self가 오고, 그 다음으로 매개변수를 적어줍니다.

person이라는 클래스를 만들고 전달값에 age와 name을 매개변수로 전달해보겠습니다.

이렇게 동작을 하면 "self.멤버변수이름" 을 통해서 멤버변수를 정의하는 것 입니다.
정의된 변수는 클래스 안에서 사용이 가능합니다.

class ClassName:
    def __init__(self, 매개변수1, 매개변수2, ...):
        <statement-1>
        .
        .
        .
        <statement-N>
class person:
    def __init__(self,age,name):
        # self. 을 통해서 클래스 멤버변수 선언
        self.age = age
        self.name = name
        print("이 사람의 나이는 " + str(self.age) + "입니다.")
        print("이 사람의 이름은 " + self.name + "입니다.")
Me = person(10,"SHIN")
이 사람의 나이는 10입니다.
이 사람의 이름은 SHIN입니다.
p1 = person(11,"JIN")
p2 = person(12,"SIM")
이 사람의 나이는 11입니다.
이 사람의 이름은 JIN입니다.
이 사람의 나이는 12입니다.
이 사람의 이름은 SIM입니다.

클래스 안에서 실행되는 함수를 메서드라고 하는데요,
init 메서드 이외에도 다양한 메서드를 추가하여 사용할 수 있습니다.

사람이 하는 행동 중 "식사" 라는 메서드(클래스 함수)를 만들어 볼게요.
식사를 하면 포만감이 증가한다고 가정해보겠습니다.

그러면 먼저 포만감에 해당하는 멤버변수도 하나 추가해보겠습니다.
매개변수로 전달 할 때 포만감=0 이라고 해줄건데요, 이 의미는 포만감에 대한 값이 넘어오지 않으면 해당 값을 0으로 초기화 한다는 말 입니다.

class person:
    def __init__(self,age,name,포만감=0):
        self.age = age
        self.name = name
        self.포만감 = 포만감
        print("이 사람의 나이는 " + str(self.age) + "입니다.")
        print("이 사람의 이름은 " + self.name + "입니다.")
        print("현재 포만감은 " + str(self.포만감) + "입니다.")
    def 식사(self):
        pass #추후 작성
Me = person(10,"SHIN",50) # 포만감은 50
이 사람의 나이는 10입니다.
이 사람의 이름은 SHIN입니다.
현재 포만감은 50입니다.
Me2 = person(10,"SHIN") # 포만감에 대한 값을 넘기지 않으면 0이 출력됨
이 사람의 나이는 10입니다.
이 사람의 이름은 SHIN입니다.
현재 포만감은 0입니다.

다음으로 식사에 대한 클래스 함수를 작성할건데요,
해당 메서드가 실행되면 포만감 이라는 멤버변수의 값을 +10 하도록 하겠습니다.

모든 메서드의 괄호안에 첫번째에는 self를 입력합니다.

class person:
    def __init__(self,age,name,포만감=0):
        self.age = age
        self.name = name
        self.포만감 = 포만감
        print("이 사람의 나이는 " + str(self.age) + "입니다.")
        print("이 사람의 이름은 " + self.name + "입니다.")
        print("현재 포만감은 " + str(self.포만감) + "입니다.")
    def 식사(self):
        self.포만감 += 10
        print("현재 포만감은 {0} 입니다".format(self.포만감))
Me = person(10,"SHIN",50) # 포만감은 50
이 사람의 나이는 10입니다.
이 사람의 이름은 SHIN입니다.
현재 포만감은 50입니다.
Me.식사()
현재 포만감은 60 입니다


이전에 스택에 대해서 함께 공부해 보았습니다. 스택은 Last In First Out 이라는 것 기억 하시죠?
그렇다면 오늘 공부해볼 Queue는 어떤 방식인지 알아보고, 실습을 해보도록 하겠습니다!!

2022.08.27 - [분류 전체보기] - 파이썬 스택 이란 무엇일까요



1. 큐가 무엇일까 : First in First Out

영화관에 입장하기 위해 줄을 섰을 때 먼저 줄을 선 사람이 제일 먼저 들어갈 수 있는데요, 
이러한 방식을 '큐' 라고 합니다. 가장 먼저 줄을 선 사람이 가장 먼저 줄을 빠져 나간다! 그래서 큐를 First In First Out 이라고 한답니다.

Enqueue? Dequeue?

자료를 넣는 것을 Enqueue 라고 하고 반대로 넣어둔 자료를 꺼내는 것을 Dequeue 이라고 합니다!
스택의 Push/Pop 에 맞춰서 이해할 수 있어요~ 


스택과 비교해보면 아래와 같습니다.  

  삽입 출력
Stack Push
append(value)
Pop
pop()
Queue Enqueue
append(value)
Dequeue
popleft()



2. 큐 구현하기

보통 파이썬에서 큐를 구현할 때는 deque를 import 하여 사용합니다.
Enqueue 는 append() 를 사용하고, Dequeue는 popleft() 를 사용합니다.

파이썬에서 리스트를 활용하여 스택을 구현할 때 용어가 비슷해서 이해하기 쉽겠죠~
값을 넣는 Enqueue 동작은 append() 를 사용해요.

다른 점은 popleft() 를 사용한다는 것 입니다. 보통 가장 0번 인덱스를 가장 왼쪽, 즉 제일 먼저 추가된 값이라고 생각합니다.

그렇기 때문에 popleft() 라는 함수로 값을 빼내는 것 입니다.

파이썬에서  deque를 사용하여 큐 동작을 확인해보겠습니다.

>>> from collections import deque
>>> queue = deque()
>>> queue
deque([]) # 소괄호 안에 리스트 형태
>>> queue.append(1) # 1번째로 Enqueue 하는 item
>>> queue.append(2) # 2번째로 Enqueue 하는 item
>>> queue.append(3) # 3번째로 Enqueue 하는 item
>>> queue
deque([1, 2, 3]) # 1,2,3 을 추가한 상태
>>> queue.popleft() # Dequeue 꺼내는 동작
1
>>> queue.popleft() # Dequeue 꺼내는 동작
2
>>> queue
deque([3])



참고사항
리스트의 append/pop 을 통해서도 큐 처럼 동작하게 끔 할 수 있어요. 
Enqueue 과정을 List.append() 로 하고 Dequeue 과정을 List.pop(0) 으로 대체하여 사용하면 되긴 되거든요!리스트 특성상 속도가 느려지기 때문에 deque를 사용한다고 알고 있으면 됩니다.

Enqueue Dequeue 동작 예시 입니다.



3. 마무리
Queue 가 무엇인지에 대해 알아보며 stack과 유사한 점과 다른점에 대해서 공부했습니다.
제가 면접 갔을때 가장 기초로 물어보는 질문이 스택과 큐 자료구조의 차이점을 설명하라는 것 이었는데요,
자주 물어본다는 건 꼭 알고 있어야 하는 자료구조라는 의미가 되겠네요~

 

1. 스택이 무엇일까 : Last In First Out

Stack이라는 단어는 쌓다 라는 의미를 갖고 있어요. 

자료구조 관점에서 스택이라는 것도 쌓다는 의미를 생각하시고 공부하시면 쉽게 이해할 수 있어요.
여러가지 책들을 손에 잡히는 순서대로 책상위에 차곡 차곡 쌓았다고 생각해보세요.

제일 바닥에 있는 책이 가장 먼저 쌓아 올린 책이고 위에 책이 가장 나중에 쌓아 올린 책 입니다.

그러면 제가 원하는 책이 나올때 까지 제일 위에 있는 책 - 즉 제일 나중에 쌓은 책 부터 하나 하나 모두 치워 내야 겠죠?

스택은 이렇게 제한적으로 접근할 수 있는 나열 구조를 말하며,  가장 나중에 들어온 책이 가장 먼저 치워 지는 방식 입니다.
그래서 Last IFirst Out 이라고 하지요. 줄여서 LIFO 라는 용어도 사용해요.


Push & Pop ?
자료를 넣는 것을 '밀어넣는다' 하여 푸쉬(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 해요

대표적인 스택의 활용
- 컴퓨터 내부의 프로세스 구조의 함수 동작 방식
- windows os 에서 새로운 프로세르를 실행할 때 가장 최근에 실행한 프로세스가 제일 위에 pop up 됩니다


2. 스택 구현하기

리스트의 append(), pop() 을 통해서 스택과 비슷한 동작하는 것을 알 수 있어요.
append() 가 Push 에 해당하고, pop() 은 pop에 해당 합니다.

List 자료구조의 append와 pop 에 대해서 모르신다면 지난 글을 읽어보시면 좋아요^ㅡ^

2022.08.25 - [분류 전체보기] - 파이썬 리스트 설명과 기본 사용법



파이썬 Python 자료구조 - List 리스트 인덱스/슬라이싱/추가/삭제

>>> stack = list() # 빈 리스트를 만듭니다.
>>> stack
[]
>>> stack.append(1) # 1번째로 추가
>>> stack.append(2) # 2번째로 추가
>>> stack.append(3) # 3번째로 추가
>>> stack.append(4) # 4번째로 추가
>>> stack           # 리스트에는 1,2,3,4 가 들어 있는 상태입니다.
[1, 2, 3, 4]



헌재 stack 리스트의 상태

>>> stack.pop() # 마지막 추가 된 값이 pop 됨
4
>>> stack
[1, 2, 3]
>>> stack.pop() # 그 다음 마지막으로 추가 된 값이 pop 됨
3
>>> stack
[1, 2]



Stack Pop 과정을 나타내면 이렇게 되겠네요.


* 마무리
이번 글에서는 Stack에 대해서 알아보았습니다. 스택을 이해하는데 도움이 될 거에요
스택은 자주 출제 되는 탐색 알고리즘(DFS) 에 사용되는 자료구조 이니, 잘 이해하시는 것이 좋습니다.

글의 내용은 Python documentation - 5.Data Structures 문서를 참고하여 작성했습니다.

이상입니다!

코딩테스트를 독학으로 준비하는 분들을 위한 자료구조 강의 입니다.
많은 도움이 되길 바랍니다.
코딩샐러드


1. 파이썬의 리스트(List) 란?

1) 정의
비슷한 성질을 가진 item 들의 묶음으로 앞으로 배우게 될 스택(stack) 그리고 큐(queue)를 이해하는데 기초가되는 자료구조 입니다.

2) 특징
파이썬의 리스트는 다른 언어의 리스트와 차이가 있다는 점을 기억하셔야 합니다.
C언어에서 사용하는 배열 처럼 연속된 메모리 공간을 차지하고 인덱스에 접근이 가능 하지만,
C언어의 배열과 다르게 추가/삭제/연산에 편리한 append,pop,extend 등의 함수를 이용할 수 있습니다.



2. 리스트 만드는 방법
파이썬에서 리스트를 선언해줄 때 대괄호를 사용하거나, list() 으로 비어있는 리스트를 만들 수 있습니다
1) 비어있는 리스트 만들기
list_a = list()
라고 선언을 하면 list_a 라는 비어있는 리스트가 생성되는 것 입니다.

>>> list_a = list() # list_a = [] 로 사용해도 같은 의미
>>> type(list_a)
<type 'list'>
>>> list_b = []
>>> type(list_b)
<type 'list'>
>>> print(list_a)
[] # 비어있음
>>> print(list_b)
[] # 비어있음
>>> if list_a == list_b :
...     print(True)
...
True​


2) 값이 들어있는 리스트 만들기
대괄호 안에 콤마 ',' 로 구분지어 여러개의 값을 저장할 리스트를 만들수 있습니다.

>>> list_c = ['a','b','c']
>>> print(list_c)
['a', 'b', 'c']​


리스트안에 item은 문자열,숫자형자료,리스트 등 통일되지 않은 자료형을 묶어 사용할 수 있습니다.

list_d = [1,'Hello',[1,2]]
>>> print(list_d)
[1, 'Hello', [1, 2]]
>>>​


3. 리스트 Index / 인덱스와 슬라이싱

1) 인덱스(index)
이번에는 리스트의 Index에 대해서 알아보겠습니다. 문자열과 같이 index로 접근이 가능합니다.

[1,2,3] 값을 갖는 A 리스트를 예로 들어 확인해보겠습니다.

>>> A
[1, 2, 3]
>>> A[0]
1
>>> A[1]
2
>>> A[2]
3
>>> A[1]+A[2]
5
>>> A[1]+A[0]
3


2) 슬라이싱(slicing)

아래와 같은 리스트가 있을 때 0번~3번까지만 출력하고 싶은 경우에 인덱스를 활용하여 간단하게 출력할 수 있습니다.
리스트[start:end+1] 0~3 을 출력하는 경우에는 [0:4] 로 출력하면 됩니다.

그리고 [-1] 을 출력해보면 제일 마지막 요소인 32가 출력되는 것을 확인할 수 있습니다.

>>> A = [1,2,4,8,16,32]
>>> A
[1, 2, 4, 8, 16, 32]
>>> A[0:4]
[1, 2, 4, 8] # 0~3번 인덱스에 해당하는 값 출력
>>> A[3:6]
[8, 16, 32] # 3~5번 인덱스에 해당하는 값 출력
>>> A[-1]
32


4.리스트에 값 추가 하기

1) append(value)
비어있는 리스트에 append()를 사용해 값을 추가할 수 있습니다.
append를 할 때에는, 리스트의 마지막 item 뒤에 추가됩니다.

>>> A = list() # Empty 리스트를 생성
>>> print(A)
[]
>>> A.append(1) # 1 추가
>>> A.append(2) # 2 추가
>>> A.append(3) # 3 추가
>>> print(A)
[1, 2, 3]


2) insert(index,value)
append() 경우에는 마지막 item 뒤에 추가가 되지만, insert의 경우에는 index 값을 통해 원하는 위치에 추가를 할 수 있습니다.

>>> A
[1, 2, 3]
>>> A.insert(1,100)
>>> A.insert(3,200)
>>> A
[1, 100, 2, 200, 3]
>>>


5.리스트 값 삭제 하기

1) remove(val)
입력된 val 값에 해당되는 첫번째 요소가 삭제 됩니다.

>>> B=[1,2,3,4,1,2,3]
>>> B.remove(1)
>>> B
[2, 3, 4, 1, 2, 3]
>>> B.remove(1)
>>> B
[2, 3, 4, 2, 3]
>>>



2) pop(index)
인덱스 값을 입력하지 않고 pop()을 수행하면 리스트의 마지막 item을 return하고 해당 item은 삭제됩니다.

>>> B
[2, 3, 4, 2, 3]
>>> B.pop()
3 # 맨 마지막 item을 return 
>>> B
[2, 3, 4, 2] # 맨 마지막 item이 삭제되었음
>>> B.pop()
2 # 맨 마지막 item을 return 
>>> B
[2, 3, 4] # 맨 마지막 item이 삭제되었음

pop(index) 로 삭제하는 경우에는 index에 해당되는 item이 return 되고 삭제 됩니다.

>>> B=[2, 3, 4, 2, 3]
>>> B
[2, 3, 4, 2, 3]
>>> B.pop(2)
4
>>> B
[2, 3, 2, 3]
>>> B.pop(-1)
3
>>> B
[2, 3, 2]
>>> B.pop(0)
2
>>> B
[3, 2]


6. List.count(value)
리스트 안에 value와 같은 item이 몇 개 있는지 return 합니다.

>>> fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
>>> fruits.count('apple') 
2                         # apple 이라는 item은 2개 임
>>> fruits.count('tangerine')
0                        # tangerine이라는 item은 0개 임

7. List.Index(value)
item이 갖는 값이 인자 값 으로 들어오는 value 값과 같은 첫 번째 index를 return 합니다.
만약에 value 에 해당하는 값이 없는 경우에는 ValueError 가 발생합니다.

>>> fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
>>> fruits.index('banana')
3                        # banana라는 값을 가진 item의 첫번째 index는 '3'
>>> fruits.index('banana', 4)
6                        # 4번 인덱스로 부터 banana라는 값을 가진 item의 첫번째 index는 '6'

8. List.sort()

리스트에 있는 item들을 정렬 합니다.

>>> fruits
['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange', 'grape']
>>> fruits.sort()        # 정렬
>>> fruits
['apple', 'apple', 'banana', 'banana', 'grape', 'kiwi', 'orange', 'pear'] # 알파벳 순서대로 정렬이 진행 됨

9. List.reverse()

리스트에 있는 item 값 순서를 반전 시킵니다.

>>> fruits
['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange', 'grape']

>>> fruits.reverse()     # reverse 를 하면 리스트 안 Item들의 순서가 변경 됨.
>>> fruits
['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange']
>>> fruits.append('grape') # grape을 추가

​

​



10. 마무리

이번 글 에서는 파이썬의 리스트에 대해서 알아보았습니다. 앞으로 배우게 될 스택,큐를 이해하려면 리스트를 정확하게 알아야 쉽게 따라 갈 수 있습니다. 다음 강의에서는 리스트를 활용하여 스택(Stack)에 대해 알아보겠습니다.

질문 사항이 있으시면 댓글또는 쪽지 남겨주세요 언제나 환영입니다. :)

+ Recent posts