출력 / 리스트 / 튜플 / 딕셔너리

2022. 10. 8. 15:05Dev.Program/Python & R

728x90

< 출력 포맷 >

 

< 문자열 관련 함수 >

< 문자 개수 : .count() >

< 문자열 찾기 : .find() >

< 문자열 삽입 : .join() >

< 대문자/소문자 : .upper() .lower() >

< 공백 지우기 : .strip() >

  • 왼쪽 공백 지우기 .lstrip(), .rstrip()

 

< 문자열 바꾸기 : .replace() >

< 문자열 나누기 : .split() >

 

======== test2.py 만들기

# 제어문 - 조건문

# 참 : True / 거짓 : False - boolean 형

  • boolean 형

 

< 관계 연산자 >

  • == != > >= < <= 
  • 관계연산자는 똑같다!

< if ~ else >

  • True / False 앞자리 무조건 대문자!

  • 파이썬에서는 괄호 다 사라짐! Tab 으로 구분!

  • else 추가! 중괄호 소괄호 세미콜론 다 사라지고 Tab(들여쓰기)으로 구분한다~
  • if 와 else 는 : (콜론) 사용

 

  • 딕셔너리 {} 를 통해 제이슨을 쉽게 관리할 수 있다!

 

< 논리 연산자 and / or >

# 논리연산자 and or
# 놀이기구 키가 155 이하 이고 몸무게 50 이하 "입장가능" 아니면 "입장불가능"
h = 165
w = 60
if h <= 155 and w <= 50:
  print("입장 가능")
else:
  print("입장 불가능")

# 주민번호에서 성별코드가 "1"이거나 "3"이면 "남" 아니면 "여"
j = "901223-1234567"
if j[7] == '1':
  print("남")
else:
  print("여")

 

< 여러 조건 if ~ elif ~ else 문 >

  • elif 가 우리가 알던 else if 

# 양수, 0, 음수 출력
a = -5
if a > 0:
  print("양수")
elif a < 0:
  print("음수")
else:
  print("0")

 

< 리스트 [] >

  • list 자료형 []표현
  • 배열이랑 같다!
# list 자료형 [] 표현
a = [1, 3, 5, 7, 9]
b = []
c = ['a', 'b', 1, 2] # 문자와 숫자 같이 넣는 것도 가능!
print(a)
print(a[0])
print(a[-1])
print(a[0]+a[-1])
print(a[0:2]) # 처음부터 2번 인덱스 앞까지
print(a[:2]) # 처음부터 2번 인덱스 앞까지
print(a[2:]) # 2번 인덱스부터 끝까지
print(len(a))
print(type(a)) # <class 'list'>

print(a*3) # 반복
print(a+c)

 

# 수정, 변경 삭제
print(a) # [1, 3, 5, 7, 9]
a[2] = 4
print(a) # [1, 3, 4, 7, 9]
print(a[1:2])
a[1:2] = ['a', 'b', 'c']
print(a) # [1, 'a', 'b', 'c', 4, 7, 9]
  • 여러 개의 값을 넣을 수도 있다!
a[1:3] = []
print(a) # [1, 'c', 4, 7, 9]
del(a[1])
print(a) # [1, 4, 7, 9]
  • 삭제는 빈공백[] 으로도 가능하고 del() 로도 가능하다!

< list 함수 >

< 추가 : .append() >

< 삽입 : .insert() >

< 제거 : .remove() >

< 뒤집기 : .reverse() >

< 정렬 : .sort() >

  • 오름차순 정렬

< 가져오기 : .index() >

< 꺼내오기 : .pop() >

  • 마지막 요소를 가져와서 보여주고 그 부분은 삭제됨

# 리스트 함수
a = [1, 2, 3]
print(a) # [1, 2, 3]
# 추가
a.append(4)
print(a) # [1, 2, 3, 4]
# 삽입
a.insert(0,0)
print(a) # [0, 1, 2, 3, 4]
# 제거
a.remove(0)
print(a) # [1, 2, 3, 4]
# 뒤집기
a.reverse()
print(a) # [4, 3, 2, 1]
# 정렬
a.sort()
print(a) # [1, 2, 3, 4]
# 가져오기
print(a.index(3)) # 3의 위치 : 2
# 마지막 요소 가져오기(가져오면서 삭제)
print(a.pop())
print(a) # [1, 2, 3]
  • 코드

 

< in / not in >

# 찾는값 in 리스트 / 찾는값 not in 리스트
# 리스트에 찾는 값이 있으면 True 없으면 False
a = [1, 2, 3, 4]
print(1 in a) # True
print(1 not in a) # False

 

p = ['paper', 'phone', 'money']
# p에서 'money' 있으면 "택시타라"   없으면 "걸어가라"
if 'money' in p:
  print("택시타라")
else:
  print("걸어가라")

 

★★★ 파이썬에서 자료형 중에 리스트[]딕셔너리{} 는 익숙해져야합니다!

< 튜플 () >

  • () 소괄호 사용
  • 값 수정 불가! (가장 큰 특징!)
  • 값이 하나만 있을 땐 뒤에 ,(콤마) 필수!
# 튜플 () => 값 수정 못하는 리스트
t1 = ()
t2 = (1,) # 값이 하나만 있을 땐 뒤에 ,(콤마) 필수!
t3 = (1, 2, 3)

  • 값 수정하려고 하면
  • 에러남

  • 값 삭제하려고 하면
  • 에러남

⇒ 이런 특징들 외에는 리스트랑 특징이 똑같다!

  • 고정된 값을 쓸 땐 튜플() 사용! 그러나 많이 사용하진 않음

 

< 딕셔너리 {} >

기본 문법

{"키":"값", "키":"값"}
  • 딕셔너리 : 사전, 키 : 단어, 값 : 뜻
  • 자바의 Map 과 비슷
  • 제이슨{} 형태의 데이터
# 딕셔너리 {}   키 : 단어, 값 : 뜻
# {"키":"값", "키":"값"}
d = {'id':'kim', 'name':'kimgildong'}
print(d)
# d[키] = 값
d['birth'] = '1225'
print(d)

  • 숫자도 가능함! (키값으로 사용됨)

< 키만 가져오기 : .keys() >

< 리스트로 형 변환 >

  • 리스트형으로 바뀜! (대괄호[] 모양)

< 값만 가져오기 : .values() >

< 키, 값 다 가져오기 : .items() >

< 특정 키 가져오기 : .get() >

< 전체 삭제 : .clear >

 

< set >

  • 집합자료형
  • 순서가 없고, 중복을 허용하지 않는다

  • 순서도 다르고 중복된 l 도 하나밖에 안나옴!

⇒ 보통 중복된 자료 중복제거할 때 set 함수를 쓴다!

 

  • 리스트형으로 바꿨을 때 []
  • 튜플형으로 바꿨을 때 ()

 

< 차집합, 교집합, 합집합 >

< 교집합 >

  • & 기호 또는 .intersection() 함수 사용

  • 같은 결과 나옴

< 합집합 >

  • | 기호 또는 .union() 함수 사용

< 차집합 >

  • - 기호 또는 .difference() 함수 사용



★★★ 파이썬에서는 정수형, 실수형, 문자형 등등 전부 참조형으로 되어있음

  • 모든 변수는 참조형이다!

id() 로 주소값 알아낼 수 있다!

  • 내용이 같으면 주소값 공유! (참조형)

  • 참조형이기 때문에 가능!

  • 간단하게 두 수가 교환된다! 참조형이기 때문에 가능!

  • b 는 안바꿨는데 같이 바뀜!
  • 주소값을 공유하기 때문에 하나만 바꿔도 같이 바뀐다

  • 이건 주소를 넘긴게 아니라 값을 넘김
  • 그래서 값이 다르게 나온다 (주소 별개)

  • 값만 넘겼기 때문에 하나만 바뀜!



728x90