list1=['가위','바위','보']
list2=[37,23,10,33,29,40]
print(list1)
print(list2)
print(list1[1])
print(list1[2])
#print(list1[3]) 범위 초과 오류
결과)
#위의 코드에서 계속
list1[0]='바위' #리스트의 각 값을 수정할 수도 있다.
print(list[0])
#print(list1[3]) 범위 초과 오류
print(list1[-1])
print(list1[-3])
#print(list1[-4]) 범위 초과 오류
바위
보
바위
#리스트의 첫번째 값을 저장하여 출력하는 실습
rainbow=['빨강','주황','노랑','초록','파랑','남색','보라']
first_color = rainbow[0]
print('무지개의 첫번째 색은 {}이다'.format(first_color) )
무지개의 첫번째 색은 빨강이다
#리스트의 마지막 값을 이용하여 무지개의 마지막 색 출력하는 실습
rainbow=['빨강','주황','노랑','초록','파랑','남색','보라']
last_color = rainbow[-1] #rainbow[6]도 가능
print('무지개의 마지막 색은 {}이다'.format(last_color) )
무지개의 마지막 색은 보라이다.
list2=[37,23,10,33,29,40]
print(list2)
list2.append(16) #.append(n) 으로 인해 리스트 끝에 n 값 추가
print(list2) #list2가 변경
list3=list2+[16] #list2와 16을 추가한 새로운 리스트 생성
print(list3)
list4=list2+list3# 두 리스트를 더하기
print(list4)
결과)
print(list4)
del (list4[12]) #()괄호 유무 상관 없음 12번째 데이터 삭제
print(list4)
list4.remove(40) #같은 값이 여러개 들었어도 가장 먼저 나오는 값 하나만 지워짐
print(list4)
결과)
n=12
ownership=n in list3 #list3에 n이 있으면 True, 없으면 False 대입
print(ownership)
n=10
if n in list3:
print('{}은 있어!'.format(n))
결과)
#list1에 값 4 추가하는 실습
list1=[1,2,3]
list1=list1+[4]#또는 list1.append(4)도 가능
print(list1)
[1,2,3,4]
#list3를 list1가 list2를 이용해 특정 값으로 만들게 하는 실습
list1=[1,2,3]
list2=[4,5,6]
list3 =list1+list2
print(list3)
[1,2,3,4,5,6]
#특정 값이 리스트 내부에 존재 하는지 확인하는 실습
numbers = [1,2,3,4,5]
if 5 in numbers: #5 값이 numbers 리스트 안에 있는가?
print("5가 있다")
5가 있다
#리스트에서 특정 값을 지워 수정해보는 실습
list1=[1,2,3]
del (list1[1]) #또는 list1.remove(2)도 가능
print(list1)
[1,3]
사용예시)
patterns=['가위','보','보','가위','가위','가위','보','가위','바위','보']
for pattern in patterns:
print(pattern)
#각 줄에 한번씩 리스트 값 출력
결과)
for A in B 반복문 :
-코드를 필요한 만큼 반복해서 실행할 수 있도록 해주는 기능
-B에 있는 모든 값을 A에 한번 씩 넣어가며 블럭 실행
이때 A는 대입하지 않고도 생겨나는 변수의 이름이다.(Python 에 존재)
B에 있는 값을 매번 A라는 변수에 대입하며 실행된다.
for in 장점 :
in 뒤의 리스트의 크기와 관계없이 항상 모든 리스트에 대해서 실행 가능하다.
같은 코드를 조건에 맞게 반복해주는 코드 == 반복문
#for in 문을 이용해 list의 내용을 한줄씩 출력해보는 실습
list = ['가위','바위','보']
for play in list:
print(play)#play는 list로 부터 순서대로 반복적으로 불러온다.
가위
바위
보
for i in [0,1,2,3,4]:
print(i)
# 이경우 []안의 리스트 크기가 크면 곤란할 수 있음 (for in range의 필요성)
for i in range(5):
print(i)
#위 코드와 동일한 결과 (0~4 각 줄에 출력)
#len()이용하여 길이 변화에 유용한 경우
for i in range(len(names)): #len() 을 이용하여 names 길이 만큼 반복
name=names[i]
print('{}번 : {}'.format(i+1,name))
1번 : 철수
2번 : 영희
3번 : 짱구
4번 : 유리
5번 : 훈이
for i in range(11172):
print(chr(44032+i),end=' ')
#결과 : 모든 한글 출력
#0부터 3까지 출력되도록 하는 반복문 실습
for i in range(4):
print(i)
0
1
2
3
#range 를 이용해서 무지개의 순서와 색을 출력하는 실습
rainbow=["빨","주","노","초","파","남","보"]
for i in
range(len(rainbow))
:
color = rainbow[i]
print('{}번째 색은 {}'.format(i+1,color))
1번째 색은 빨
2번째 색은 주
3번째 색은 노
4번째 색은 초
5번째 색은 파
6번째 색은 남
7번째 색은 보
rainbow=["빨","주","노","초","파","남","보"]
for i,color in enumerate(rainbow):
print('{}번째 색은 {}'.format(i+1,color))
1번째 색은 빨
2번째 색은 주
3번째 색은 노
4번째 색은 초
5번째 색은 파
6번째 색은 남
7번째 색은 보
#각 달의 날 수를 리스트화 하고 정보 출력하는 실습
days = [31,29,31,30,31,30,31,31,30,31,30,31]
for i,dayNum in enumerate(days):
print('{}월의 날짜수는 {}일 입니다.'.format(i+1,dayNum))
#다른 코드
for i in range(len(days)):
print('{}월의 날짜수는 {}일 입니다.'.format(i+1,days[i]))
1월의 날짜수는 31일 입니다.
2월의 날짜수는 29일 입니다.
3월의 날짜수는 31일 입니다.
4월의 날짜수는 30일 입니다.
5월의 날짜수는 31일 입니다.
6월의 날짜수는 30일 입니다.
7월의 날짜수는 31일 입니다.
8월의 날짜수는 31일 입니다.
9월의 날짜수는 30일 입니다.
10월의 날짜수는 31일 입니다.
11월의 날짜수는 30일 입니다.
12월의 날짜수는 31일 입니다.
wintable={
'가위':'보', #앞의 적힌 부분 : 이름표, 뒤의 적힌 부분 : 값
'바위':'가위',
'보':'바위'}
print(wintable['가위']) # 가위 이름표의 값을 출력
보
wintable={
'가위':'보',
'바위':'가위',
'보':'바위'}
def rsp(mine,yours):
if mine==yours:
return 'draw'
elif wintable[mine] == yours:
return 'win'
else :
return 'lose'
result=rsp('가위','바위') #result에 승패 정보 대입
messages={
'win':'이겼다!',
'draw':'비겼네.',
'lose':'졌어'} #승패 정보를 이름으로 하는 딕셔너리 생성
print(messages[result]) #딕셔너리를 리스트처럼 사용하여 해당하는 내용 출력
졌어
days_in_month = {
#여기에 코드를 완성해 보세요.
'1월':31,'2월':28,'3월':31
}
print(days_in_month)
{'1월': 31, '2월': 28, '3월': 31} #딕셔너리 정보 모두 출력
dict = {"이름표":[1,2,3] }
#값은 리스트를 포함해서 무엇이든 올 수 있다.
print( dict["이름표"] ) #"이름표"이름의 정보(리스트) 모두 출력
[1,2,3]
예시) 아래와 같은 딕셔너리가 있다고 하자
ages={'Tod':35,'Jane':23,'Paul':62}
-keys()사용 예시
#key 값을 가져오는 keys(),
#python은 디폴트로 keys()를 가져오기 때문에 생략 가능
for key in ages.keys():
print(key)
"""for key in ages:
print(key)"""
#위 아래 동일 결과
Tod
Jane
Paul
-values() 사용예시
#value 값들을 가져오는 values()
#key 가 가지고 있는 값인 value를 가져오는 역할
for value in ages.values():
print(value)
35
23
62
-items() 사용예시
#key,value 값을 순서 대로 모두 가져오는 items()
#리스트의 enumerate()와 비슷함
for key,value in ages.items():
print('{}의 나이는 {}입니다.'.format(key,value))
Tod의 나이는 35입니다
Jane의 나이는 23입니다
Paul의 나이는 62입니다
#for in 문을 이용해 딕셔너리의 키값 출력하는 실습
days_in_month = {"1월":31, "2월":28, "3월":31, "4월":30, "5월":31}
for key in days_in_month.keys(): #.keys() 생략가능
print(key)
1월
2월
3월
4월
5월
# key와 value 한번에 전달 받아 출력하는 프로그램 실습
days_in_month = {"1월":31, "2월":28, "3월":31, "4월":30, "5월":31}
for key,value in days_in_month.items():
print("{}은 {}일이 있습니다.".format(key,value) )
1월은 31일이 있습니다.
2월은 28일이 있습니다.
3월은 31일이 있습니다.
4월은 30일이 있습니다.
5월은 31일이 있습니다.