코딩고치

[파이썬][기초] For문과 리스트 본문

파이썬/기초

[파이썬][기초] For문과 리스트

코딩고치 2020. 5. 30. 23:21

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