컴프리헨션 --> 함축,포괄
수동 리스트 생성 방식과 for문 사용한 리스트 컴프리헨션 방식 비교
#1.[수동 리스트 생성] -- > 1~10까지 리스트 생성
a = [1,2,3,4,5,6,7,8,9,10]
print(a,type(a))
#2. For문 리스트 생성 --> 1~10까지
#2 For문 리스트 생성
b =[]
for i in range(1,11):
b.append(i) # 1부터 10까지
print('리스트 생성',b,type(b))
#3. list comprehension
#3.list comprehension
c =[i for i in range(1,11)] # range가 돌면서 맨앞 변수i 에 append 된다.
print(c,type(c))
list comprehension을 이용하면, 코드를 훨씬 짧고 간결하게 짤수있다.
#2 1~10까지 수를 listcomprehension 으로 각 숫자를 제곱한 값을 저장하는 리스트
b = list(i**2 for i in range(1,11)) # i x 2제곱
print(b)
b1 = [ i*i for i in range(1,11)] = i * i
b2 = [pow(i,2)for i in range(1,11)] #pow(i,2) = i 2제곱
#2번문제에서 5의 제곱은 제외하고 출력하기
#list comprehension에서 조건문 사용시 순서
c =[i*i for i in range(1,11) if i !=5] #1 ~10까지 진행 되는 과정에서 5가 아닌것들만 출력
print(c)
#홀수 리스트 생성
d = [i for i in range(1,11) if i%2==1]
print(d)
#짝수
f = [i for i in range(1,11) if i%2==0]
print(f)
#이중 중첩문 list comprehension
#이중 중첩문 listcomprehension
a = [(i,j) for i in range(2,4) for j in range(1,4)] #i,j 튜플()로 묶어줘야한다.
print(a)
<딕셔너리 자료형 (Key,Value)은 하나의 쌍으로 이루어진 데이터 값이다. >
#딕셔너리
a = {'name':'홍길동','ID':'abc123'}
print(a['name'])
#데이터 입력
a['키'] = 170 #기존의 a딕셔너리에 '키'값 추가
a['주소'] ='서울시 00구' #주소 추가 문자열도 가능하다.
a['리스트'] = [1,2,3,4,5] # 리스트도 추가가 가능하다
print(a)
#출력:
홍길동
{'name': '홍길동', 'ID': 'abc123', '키': 170, '주소': '서울시 00구', '리스트': [1, 2, 3, 4, 5]}
# 반복문을 사용한 데이터 출력 - key
for i in a.keys(): #key만 출력하기
print(i, end='')
출력:
name ID
#반복문을 사용한 데이터 출력 -value
for i in a.values(): #value만 출력하기
print(i, end =" ")
출력:
홍길동 abc123
#반복문을 사용한 데이터 출력 -items
for i in a.items(): # items(쌍)으로 묶여서 출력
print(i,type(i),end ='') #튜플로 변환된다.
출력:
('name', '홍길동') <class 'tuple'>('ID', 'abc123') <class 'tuple'>
< 빈 딕셔너리 만들기 >
# 빈 딕셔너리 만들기
a =dict() # dict로 변환
b = {}
print(a,type(a))
print(b,type(b))
<중첩 딕셔너리 >
#중첩 딕셔너리(Nested Dictionary)
dict2 = {
'name':'이순신',
'age':30,
'pasttime': {'reading':30, 'walking':30}
}
print(dict2['pasttime']['reading']) # reading
출력:
30
<딕셔너리 수정/삭제>
#수정 / 삭제
dict_3 = {'a':1,'b':2}
dict_3['a'] = 100 # a의 밸류1을 100으로 수정
print(dict_3)
#삭제
del dict_3['a'] # 키값 A 삭제
print(dict_3)
출력:
{'a': 100, 'b': 2}
{'b': 2}
'Python' 카테고리의 다른 글
Python 기초 - for , 이중for 문 ,range함수 (0) | 2022.08.28 |
---|---|
Python 기초 - tuple , set (집합) (0) | 2022.08.28 |
Python 기초 - list , index ,정렬 (0) | 2022.08.28 |
Python 기초 - 문자열 format (0) | 2022.08.28 |
Python 기초 - print,변수,type,index (0) | 2022.08.27 |