■ 83. 파이썬 Comprehension
※ python comprehension
1. list comprehension
2. set comprehension
3. dictionary comprehension
1. list comprehension
문법:
출력 표현식 for 요소 in 입력시퀀스 if 조건식
예제:
oldlist=[ 1, 2, 'A', False, 3 ]
newlist=[]
for i in oldlist:
if type(i)==int:
newlist.append(i*i)
print(newlist)
문제264.
위의 코드를 comprehension 코드로 변경하시오
[출력표현식 for 요소 in 입력시퀀스 [if 조건식] ]
oldlist=[ 1, 2, 'A', False, 3 ]
newlist=[i*i for i in oldlist if type(i)==int]
print(newlist)
문제265.
아래의 코드를 comprehension 코드로 변경하시오
import csv
file=open('d:\\csv\\emp2.csv','r')
emp_csv=csv.reader(file)
emp_sal=[]
for i in emp_csv:
emp_sal.append(int(i[5]))
print(max(emp_sal))
↓
import csv
file=open('d:\\csv\\emp2.csv','r')
emp_csv=csv.reader(file)
emp_sal=[]
emp_sal=[int(i[5]) for i in emp_csv ]
print(max(emp_sal))
2. set comprehension
{출력 표현식 for 요소 in 입력시퀀스 if 조건식}
예제:
oldlist=[1, 1, 2, 3, 3, 4]
newlist={i*i for i in oldlist}
print(newlist)
{1, 1, 4, 9, 9, 16} 이 중복제거 되서 나온다
↓
{16, 1, 4, 9}
문제266.
위의 코드를 comprehension 안 쓴 코드로 작성하시오
oldlist=[1, 1, 2, 3, 3, 4]
newlist=[]
for i in oldlist:
newlist.append(i*i)
a=set(newlist)
print(a)
3. Dictionary Comprehension
{key:value for 요소 in 입력시퀀스 if 조건식}
예제:
id_name={1:'김준구', 2:'장보겸', 3:'정지엽'}
a={val:key for key, val in id_name.items()}
print(a)
#key,val 을 갖고와서 순서를 val:key 로 바꿔서 출력해라 !
문제267.
위의 코드를 comprehension 안 쓴 코드로 변경하시오
참고
dic = { }
dic['파이썬'] = 'www.python.org'
#↑ ↑
# key value
print(dic)
print(dic.keys() )
print(dic.values() )
print(dic.items() )
답:
id_name={1:'김준구', 2:'장보겸', 3:'정지엽'}
a={}
for key,val in id_name.items():
a[val]=key
print(a)
문제268.(오늘의 마지막 문제) 알고리즘 문제
삽입정렬 알고리즘을 파이썬으로 구현하시오!
a=[4,1,5,2,3]
print(insert_sort(a))
결과: [1,2,3,4,5]
def insert_sort(n):
x=[]
a=len(n)
for i in range(a):
for j in range(0,a-1):
if n[j]>n[j+1]:
n.insert(j+1+1,n[j])
n.remove(n[j])
else:
continue
return n
a=[5,4,3,2,1,8,7,10]
print(insert_sort(a))
'python' 카테고리의 다른 글
19. 대소문자 변환, 공백제거(upper, lower, lstrip, rstrip) (0) | 2019.03.26 |
---|---|
18. isalpha, isdigit, 특수문자 (0) | 2019.03.25 |
16. 텍스트마이닝 (0) | 2019.03.25 |
15-2. 특정위치 문자열(count,find) (0) | 2019.03.25 |
15-1. round, filter, type변환하기 (0) | 2019.03.25 |