Python/Today I learned

TIL#06 생활코딩 Python 리스트(list),컨테이너들,반복문

higher77 2021. 5. 12. 01:15

 

 

 

15강 (문법) 리스트list

 

 

 

데이터 타입 리스트(list) 목록이라는 뜻.

 


데이터가 많아짐에 따라서 데이터를 보다 정교한 방식으로 잘 정리정돈 할 필요가 있는데 그떄 사용하는 것이 리스트다.

 

 

[1, 'four', 9, 16, 25]  #리스트를 만들고 값을 넣는 방법

s = [1, 'four', 9, 16, 25] #쉽게 다루기 위해서 변수에 리스트를 담는다.

print(s) #[1, 'four', 9, 16, 25]

 

 

//////////////////////////////////////////////////////////////////////////

 

들어가있는 리스트의 값을 꺼내는 방법

print(s[1])   #four


대괄호 안에 적는 숫자는 인덱스(index)라고 부른다. 이 인덱스는 리스트 안의 값들을 식별하는 식별자이다.
(첫번째 자리에 있는 것은 인덱스 값이 0이다.)

그리고 리스트를 구성하고 있는 각각의 값들을 원소(element)라고 부른다.

 

 

 

 

///////////////////////////////////////////////////////////////////////////

 

 

print(len(s))     #5  몇 개의 값이 있는가를 알아내는 것

s[1] = 4     #값 수정하기
print(s)

del s[2]     #값 삭제하기
print(s)

s.append('egoing')    #값 추가하기
print(s)



 

 

 

 

16강 (문법) 컨테이너들

 

 

 

 

리스트(list)라는 데이터 타입을 컨테이너라고 한다.

즉 값을 담을 수 있는 그릇이라는 뜻이다.

이런 컨테이너는 파이썬에서는 리스트 말고도 꽤 많이 있다.

어떤 컨테이너가 있는지 살짝 보자.

 


Sequence(순서) Types 순서가 있는 데이터를 담는 컨테이너들
 -list ,tuple, range


Text Sequence Type 

-str(스트링) 문자열

 

 


리스트(list) 스트링(str)은 둘다 시퀀스 타입이다.

common sequence operations(시퀀스 타입들이 갖고 있는 공통적인 연산자들)
리스트(list)나 스트링(str)이나 시퀀스이기 때문에 둘 다 사용 가능하다.

"a"+"b" # 'ab'
['a']+['b'] #['a', 'b']

len('egoing') # 6
len(['a','b','c']) # 3

 

 


그리고 리스트와 스트링은 서로 다른 데이터 타입이기 때문에 각자 만이 가지고 있는
서로 다른 연산자들을 갖고 있다.

'egoing'.capitalize() # 'Egoing' 첫번째 글짜를 대문자로 바꿔주는 기능을 갖고 있다. 이런걸 메소드라고 한다.

[1,2,3].captalize() # 에러

 


///////////////////////////////////////////////////////////////////////////////////

 

 

 


종종 사용되는 데이터 타입 중에 컨테이너 중에 딕셔너리라는 것이 있다.

Mapping Types

 - dict (dictionary사전을 의미)

사전은 단어의 이름이 있으면 거기에 대한 설명이 나온다.

즉, 이름과 데이터로 이뤄져 있는 것이 사전이다.

person = {'name':'egoing', 'address':'seoul'}

person['name']  #'egoing'


우리가 어떤 값에 대한 이름을 문자로 보유할 수 있는 데이터 타입이 

dintonary라는 데이터 타입이다.


////////////////////////////////////////////////////////////////////////////////////

Set(집합) Types

- set, frozenset 

집합안에는 중복되는 값들은 들어가지 못한다.
왜냐하면 집합은 일종의 종류를 표현하기 때문이다. 

집합이라는 수학적인 것을 프로그래밍 쪽으로 표현할 수 있는 것이고
우리가 합집합 교집합과 같은 연산을 할 수 있게 해주는 것이다.

 

 

 

 

 

 

 

 

17강 (문법) 반복문

 



반복문(loop)

반복문은 프로그램에 순차적으로 실행 되다가 어떤 조건하에서 어떤 일련의 코드들을 반복적으로
실행되도록 하는 것이다.

 

 

리스트와 같은 컨테이너들과 아주 밀접한 관계에 있다.


"for" target_list "in" expression_list ":" suite
["else" ":" suite]
<파이썬 공식문서에 나온 for문 사용법>

 

 

#list 
for value in ['a','b','c']:
    print(value) #조건이 만족 됐을 때 이 부분의 코드들이 실행된다.

 

in뒤에 시퀀스 데이터 타입(list,tuple,string과 같은 것)을 넣으면 된다 


print(1)
for value in ['a','b','c']:
print(2)

 

1
a
b
c
2
 

print('---range---')
#range
for value in range(10):
    print(value)


---range---
0
1
2
3
4
5
6
7
8
9


range(10)이라고 하는 것은 10개의 리스트를 만드는건 아니지만
10번을 반복할 수 있게 해준다.


for문 말고도 while문이 있다. 

"while" expression ":" suite
["else" ":" suite]

<파이썬 공식문서에 나온 while 사용법>

 

 


while안쪽에 있는 값이 true인 동안에 반복문이 실행되는 좀 더 원시적이고
자유도가 높지만 약간은 까다롭게 느껴질 수 있는 문법이다.