TIL#06 생활코딩 Python 리스트(list),컨테이너들,반복문
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인 동안에 반복문이 실행되는 좀 더 원시적이고
자유도가 높지만 약간은 까다롭게 느껴질 수 있는 문법이다.