티스토리 뷰

ex) 리스트의 값들을 1씩 더한 리스트를 만들때

numbers = [1,2,3]

 

#1. 지금까지 방법 예

new_numbers = []

for num in numbers:

    add_1 = num + 1

    new_numbers.append(add_1)

 

 

#2.  List Comprehension

#new_list = [ new_item for item in list ]

 

new_numbers = [ num+1  for num in numbers ]

 

---------------------------------------------------------

print(new_numbers)
[2, 3, 4]

 

 

 

ex)

name = "Kio"
for i in name:
    print(i)
--------------------
K
i
o

 


new_list = [i for i in name]
print(new_list)

-------------------------------
['K', 'i', 'o']

 

 

 

ex) range(1,6)으로 값이 두배가 되는 숫자 리스트 만들기

double = [ num * 2 for num in range(1,6)]
print(double)

--------------------------------------------------------------
[2, 4, 6, 8, 10]

 

 

 

#3.  Conditional List Comprehension

#new_list = [ new_item for item in list if test ]

 

 

ex) 4자 이하의 이름을 리스트로 만들기

 

name = ["Alex", "Benjamin", "Carl", "David", "Kio", "Freebee"]
short_name = [ n for n in name if len(n) < 5 ]
print(short_name)

--------------------------------------------------------
['Alex', 'Carl', 'Kio']

 

 

long_name = [ n.upper() for n in name if len(n) >= 5]
print(long_name)

----------------------------------------------------------------
['BENJAMIN', 'DAVID', 'FREEBEE']

 

 

 

* 연습문제

 

file2.txt
0.00MB
file1.txt
0.00MB

file1.txt 와 file2.txt에서 공통적으로 포함된 '숫자'를 List Comprehension으로 나타내 보아라

with open("file1.txt") as data1:
    file1 = data1.readlines()
    # number1=[]
    # for data in file1:
    #     number1.append(int(data))
with open("file2.txt") as data2:
    file2 = data2.readlines()
    # number2=[]
    # for data in file2:
    #     number2.append(int(data))
result = [ int(n1) for n1 in file1 if n1 in file2 ]
print(file1)
print(file2)
print("---------------------------------------------------")
print(result)
[output]
['3\n', '6\n', '5\n', '8\n', '33\n', '12\n', '7\n', '4\n', '72\n', '2\n', '42\n', '13\n']
['3\n', '6\n', '13\n', '5\n', '7\n', '89\n', '12\n', '3\n', '33\n', '34\n', '1\n', '344\n', '42\n']
---------------------------------------------------
[3, 6, 5, 33, 12, 7, 42, 13]

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
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
글 보관함