Python / / 2022. 8. 28. 16:07

Python 기초 - list comprehension /dict / 이중 for문

컴프리헨션 --> 함축,포괄

수동 리스트 생성 방식과 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}
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유