일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 배열
- 탐색
- 순차 탐색
- 유닉스
- 정렬
- 분할 정복
- 알고리즘
- 기초
- 이진 탐색
- format 메서드
- IT
- 자료구조
- 그래프
- 그리디
- UNIX
- MiniHeap
- 자기개발
- 동적 계획
- git hub
- 우분투
- 재귀 함수
- type 함수
- 파이썬
- 백준
- Git
- NQueen
- sys.stdin.readline()
- 스택
- 트리
- 문법
Archives
- Today
- Total
코딩고치
[파이썬][기초] For문과 리스트 본문
For 문
items = ['Estus Flask', 'Ashen Estus Flask', 'Estus Shard', 'Homeward Bone', 'Fading Soul']
# while 문으로 표현할 때
i = 0
while i < len(items):
print(items[i])
i += 1
print('--------------------------------------------')
# for 문으로 표현
for item in items:
print(item)
Estus Flask
Ashen Estus Flask
Estus Shard
Homeward Bone
Fading Soul
--------------------------------------------
Estus Flask
Ashen Estus Flask
Estus Shard
Homeward Bone
Fading Soul
for 변수 이름 in 리스트
- 변수 이름은 사용자가 지정해 주면 됨
- 첫 번째 데이터부터 출력
for num in [1, 3, 5, 7, 9]:
print(num + num)
2
6
10
14
18
- 1 ~ 10까지 출력하고자 할 때 리스트를 만들지 않고 range함수를 이용하여 쉽게 출력 가능
for num in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
print(num)
print('------------------------------------------')
for num in range(1, 11):
print(num)
1
2
3
4
5
6
7
8
9
10
------------------------------------------
1
2
3
4
5
6
7
8
9
10
range(n, m)
: 범위 n 부터 m-1까지 간격이 1로 증가range(n, m, s)
: 범위 n부터 m-1까지 s간격으로 증가
for i in range(1, 20):
print(i)
print('---------------------------------')
for i in range(1, 20, 4):
print(i)
print('---------------------------------')
for i in range(20, 1, -4):
print(i)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
---------------------------------
1
5
9
13
17
---------------------------------
20
16
12
8
4
- range의 장점
- 간편함
- 깔끔함
- 메모리를 효율적으로 사용함
Aliasing
x = ['Estus Flask', 'Ashen Estus Flask', 'Estus Shard', 'Homeward Bone', 'Fading Soul']
y = x
y[0] = None
print(x)
print(y)
[None, 'Ashen Estus Flask', 'Estus Shard', 'Homeward Bone', 'Fading Soul']
[None, 'Ashen Estus Flask', 'Estus Shard', 'Homeward Bone', 'Fading Soul']
- y가 x리스트를 가리키게 한 후 y리스트의 값을 바꾸면 x리스트의 값도 바뀌게 됨
- 둘을 독립적으로 만들고 싶으면 list함수를 이용하여
y = list(x)
로 지정해 주어야 함
x = ['Estus Flask', 'Ashen Estus Flask', 'Estus Shard', 'Homeward Bone', 'Fading Soul']
y = list(x)
y[0] = None
print(x)
print(y)
['Estus Flask', 'Ashen Estus Flask', 'Estus Shard', 'Homeward Bone', 'Fading Soul']
[None, 'Ashen Estus Flask', 'Estus Shard', 'Homeward Bone', 'Fading Soul']
리스트와 문자열
- 리스트와 문자열 모두 인덱싱, 슬라이싱으로 표현 가능
- 문자열을 연결하듯이 리스트도 연결이 가능
- len() 함수로 문자열 길이, 리스트 길이 모두 출력 가능
- 리스트는 해당 인덱스의 값을 변경할 수 있지만 문자열은 변경 불가
list = ['E', 's', 't', 'u', 's', ' ', 'F', 'l', 'a', 's', 'k']
print(list[0])
print(list[1])
print(list[2])
print(list[1:5])
string = 'Estus Flask'
print(string[0])
print(string[1])
print(string[2])
print(string[1:5])
print('--------------------------------')
list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8]
x = list1 + list2
print(x)
string1 = 'I'
string2 = 'Pad'
y = string1 + string2
print(y)
print('--------------------------------')
list = [1, 2, 3, 4]
list[0] = 0
print(list)
string = 'string'
string[0] = 'a'
E
s
t
['s', 't', 'u', 's']
E
s
t
stus
--------------------------------
[1, 2, 3, 4, 5, 6, 7, 8]
IPad
--------------------------------
[0, 2, 3, 4]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-13-636a1c32d628> in <module>
32
33 string = 'string'
---> 34 string[0] = 'a'
TypeError: 'str' object does not support item assignment
'파이썬 > 기초' 카테고리의 다른 글
[파이썬][기초] 리스트 (0) | 2020.05.30 |
---|---|
[파이썬][기초] input() (0) | 2020.05.30 |
[파이썬][기초] 제어문 (0) | 2020.05.18 |
[파이썬][기초] 추상화 (0) | 2020.05.18 |
[파이썬][기초] 자료형 (0) | 2020.05.15 |
Comments