list_data = ['가','나','다','라','마']
for a in enumerate(list_data):
print(a) #tuple형태로 출력
=>
(0, '가')
(1, '나')
(2, '다')
(3, '라')
(4, '마')
list_data = ['가','나','다','라','마']
for num, a in enumerate(list_data):
print(num, a) #출력 값 분리
=>
0 가
1 나
2 다
3 라
4 마
list_data1 = [1,2,3,4,5]
list_data2 = ['a','b','c','d','e']
list_data3 = ['ㄱ','ㄴ','ㄷ','ㄹ','ㅁ']
for result in zip(list_data1, list_data2, list_data3):
print(result)
=>
(1, 'a', 'ㄱ')
(2, 'b', 'ㄴ')
(3, 'c', 'ㄷ')
(4, 'd', 'ㄹ')
(5, 'e', 'ㅁ')
for result1, result2, result3 in zip('12345', 'abcde', 'ABCDE'):
print(result1, result2, result3)
=>
1 a A
2 b B
3 c C
4 d D
5 e E
list_data1 = [1,2,3,4,5]
list_data2 = ['a','b','c','d','e']
list_data3 = ['ㄱ','ㄴ','ㄷ','ㄹ','ㅁ']
result = list(zip(list_data1, list_data2, list_data3))
print(result)
=> [(1, 'a', 'ㄱ'), (2, 'b', 'ㄴ'), (3, 'c', 'ㄷ'), (4, 'd', 'ㄹ'), (5, 'e', 'ㅁ')]
for result1, result2, result3 in zip('12345', 'abcd', 'ABC'):
print(result1, result2, result3)
=>
1 a A
2 b B
3 c C
list_data1 = [1,2,3]; list_data2 = ['a','b','c']; list_data3 = ['ㄱ','ㄴ','ㄷ']
result = list(zip(list_data1, list_data2, list_data3))
print(result) # zip으로 묶여있는 데이터.
=> [(1, 'a', 'ㄱ'), (2, 'b', 'ㄴ'), (3, 'c', 'ㄷ')]
unzip_1, unzip_2, unzip_3 = [list(unzip) for unzip in zip(*result)]
print('unzip_1: ', unzip_1)
print('unzip_2: ', unzip_2)
print('unzip_3: ', unzip_3)
=>
unzip_1: [1, 2, 3]
unzip_2: ['a', 'b', 'c']
unzip_3: ['ㄱ', 'ㄴ', 'ㄷ']
list_data1 = ['가','나','다','라','마']
list_data2 = ['A','B','C','D','E']
result = {a:b for a,b in zip(list_data1, list_data2)}
print(type(result))
print(result)
=>
<class 'dict'>
{'가': 'A', '나': 'B', '다': 'C', '라': 'D', '마': 'E'}
일반적으로 변수를 복사할 때, 아래와 같이 ' = '를 사용함.
a_list = ['가', '나', '다']
b_list = a_list
그러나 이렇게 하면, list type의 data는 아래와 같이 b_list만 바꿔도 a_list도 변하는 문제 발생.
b_list.append('라')
print(a_list)
print(b_list)
=>
['가', '나', '다', '라']
['가', '나', '다', '라']
copy()를 사용하면 문제 해결.
a_list = ['가', '나', '다']
b_list = a_list.copy()
b_list.append('라')
print(a_list)
print(b_list)
=>
['가', '나', '다']
['가', '나', '다', '라']