개발하는 삶

[Python] 자료형, 리스트, 튜플 본문

JavaScript, Vue.js, CSS/Python&Django

[Python] 자료형, 리스트, 튜플

삶_ 2022. 6. 18. 18:09

- 요약해서 필요한 부분만 넣었다!

 

 

VSCODE 초기화

https://velog.io/@leejuhwan/VSCODE-초기화-후-재설치-for-Windows

주석처리 하는법

  • #주석처리, ‘’’ 주석처리 ‘’’
  • 단축키 : ctrl + /

헷갈리는 자료형 관련 수식

  • type(a) : 타입 알아보기
    • <class ‘int’> 출력시 이렇게 뜸
  • a//b : 몫 구하기 (나눗셈 /로 하면 소수점 뜸 (파이썬3부터))
  • str : 파이썬 문자열
    • str(396) : 자료형 변환
    • a[0:4] : 문자열 뽑아내기 [이상:미만:간격]
  • bool 자료형 : True , False
  • 변하지 않는 자료형 : 정수, 실수, 문자열, 튜플
  • 변하는 자료형 : 리스트, 딕셔녀리, 집합

줄바꿈

  • \n 줄바꿈
  • \t 탭간격 추가
  • \\ \쓸때
  • \’ \”
  • %%
  • \rApple : Apple을 맨앞으로 이동
  • \b 바로 앞의 한글자 삭제

 

문자열 포맷팅

  • %d, %f, %s, %c, %o, %x
  • 출력하기
    • a = “%d %s” %(num,day)
    • “%.3f” %변수명
    • “{}”.format(”aa”)
    • “{0} {1}”.format(a,b)
    • “{a}{b}”.format(a=”aa”, b=”bb”)
    • a =”aa”
    • “{a}” ⇒변수로 출력해보기
  • 공백
    • %10s : 뒤에오는 글자 왼쪽정렬(왼쪽으로 공백(없음말고) 10칸이동)
    • %-10s : 뒤에오는 글자 오른쪽으로 공백 10칸이동
  • 문자열 관련 함수
    • 문자열 더하기/곱하기 가능
    • 문자열의 특정인덱스 변경 불가능
    •  
    • a.count(’b’) : b가 몇개있는지
    • a.find(’b’) : 가장먼저 나오는 b의 위치 알리기
    • a.join(’b’) : b (문자열) 각각 문자 사이에 a를 삽입
    • a.replace(’b’,’c’) : a 내에 있는 b를 c로 바꾼다. (값을 반환)
      • 특정 문자열 지우고 싶을때 a.replace(’b’,’’)
    • 양끝 지우기 : 중간에 있는 요소는 지울 수 없음
      • a.strip() : 양끝 공백지우기
        • a.strip(’b’) : a 내에 있는 b들 다 지우고(양끝에서만) 값을 반환
      • a.lstrip(), a.rstrip() : 왼, 오른쪽 공백지우기
    • a.upper(’b’) : b를 대문자로
    • a.lower(’b’) : b를 소문자로

 

리스트/배열

  • 다양한 타입의 자료형을 넣을 수 있음( , 를 기준으로 나눔)
  • 리스트 초기화 (1차원 배열)
    • a = []
      a = list()
      a = [0]*n 
  • 0부터 9까지의 수를 포함하는 리스트
    • array = [i for i in range(10)]
    • array = [i for i in range(10) if i % 2 ==0]  //이건 번외. 한줄에 작성 가능(조건문과 같이)
    • for 변수 in 리스트/튜플/문자열
      • in 뒤에 문자열일 경우, 문자열의 문자 하나하나를 다 보여줌
  • 리스트 자르기
    • a[:2]
    • a[-1]  //리스트 안의 음수 (뒤쪽에서 1번째 출력)
  • a.clear() : a의 모든 요소를 제거
  • del a[1:] : a[1:] 삭제 (여러개)
  • a.remove(b) : a 내에 첫번째로 나오는 b를 삭제 (한개만)
  • 리스트 내 특정값 모두 제거하는 법
    • a = [1,2,3,4,5]
      b = {2,3}
      result = [i for i in a  if i not in b]
      => a 리스트들 / b 안에 없는 i 반환
  • a.extend(b) : b 를 a 뒤에 추가해줌
    • append와 다른점은, 문자열을 삽입할경우 문자열 내의 알파벳 개별로 추가됨
  • a.append(b) : 리스트 b 모양 그대로 a 뒤에 추가해줌
  • a.count(b) : a 내에 b 값 갯수 알려줌
  • a.index(’b’) : a 내에 b의 위치 알려줌
  • a.pop() : a 내 마지막 요소 알려주고 제거
    • a.pop(b) : a 내 b위치에 있는 값 알려주고 제거
  • a.insert(b,c) : b위치에 c 추가
  • len(a) : a 리스트/문자열/배열/튜플 길이
  • a.sort() : a 정렬
    • a.sort(reverse = True) : 내림차순 정렬
    • sorted(a) :  정렬한 값을 반환
    • sorted(str_list, key=len) 이란?
      key=(정렬을 목적으로 하는 함수)
  • a.reverse() : 리스트 뒤집기 (값 반환 아님! a를 뒤집어줌.)
    • reversed(a) : 뒤집은 리스트 요소들을 반환함
    • ‘’.join(reversed(a)) : 리스트를 뒤집어서 문자열로 나열하고싶을때
    • join은 문자형태밖에 안해주니(정수X) 형변환을 해주고 해야함!
  • b in a : a 안에 b가 있는지

 

리스트 관련 수식

  • 리스트 복사
    • a = b : a주소에 b주소 복사 (둘은 주소,값 모두 일치)
    • 리스트만 복사
      • a = b[:] (한명이 값 바꿔도 영향 주지 않음)

 

리스트 random() 함수

  • 랜덤 함수들을 사용하기 위해서는 **from random import ***을 선언 해야함
    • random.random() : 0부터 1 미만의 수 중 아무거나 돌려줌 (실수)
    • random.randrange(1,7) : 1부터 7 미만의 수 중 아무거나 돌려줌
      • random.randrange(7) : 0부터 7 미만의 수 중 아무거나 돌려줌
    • random.randint(0,2) : 0과 2 사이의(2도 포함됨) 랜덤한 정수
    • range(0,20) : 0부터 19까지 범위의 숫자 리스트
  • 선언하면 random() 이렇게만 써도 허용됨
  • shuffle(a) : a 리스트 항목 섞기
  • sample(a,b) : a 리스트에서 b 숫자만큼 랜덤으로 리스트로 바꿔줌
    • a : 리스트 등
    • b : 반환될 리스트의 크기

리스트 내포 사용하기

  • b = [c*3 for c in a]
    • for in 조건식을 만족하는경우에만 *3을 해라 = b의 값

 

튜플 자료형

  • 리스트/튜플은 순서가 있기 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있음
  • ()로 둘러싸임. 생략 가능.
    • tuple() : 튜플화하기
    • 값 변경 불가능
    • 리스트보다 공간효율적이다
    • 서로 다른 성질의 데이터를 묶어서 관리해야 할때 (ex. 정수,실수 모두 존재)
  • t1=(1,) : 한개만 가질땐 , 를 꼭 붙임
    • 인덱싱, 더하기 등등 기능들은 리스트와 동일함

 

딕셔너리(사전) 자료형

  • 사전/집합 자료형은 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없음
  • 키와 값의 쌍을 데이터로 가진 자료형
  • 변경 불가능한 자료형을 키로 사용할 수 있음 (그 키를 통해 값을 구하는 느낌)
    • a = dict()  //선언
    • a = {’aa’:’aa2’, ‘bb’:’bb2’}  //선언 및 초기화
    • key:Value
  • a['사과'] = Apple 하면 {'사과':'Apple'}
  • a[2] = bin
    • a = {…, 2:bin}
  • 리스트의 append, insert, pop, remove, sort 함수 못씀
  • key를 지우면 해당 key:Value 쌍 같이 지워짐
  • 출력
    • a.keys() : a의 key들만 출력  =>  dict_keys(['사과'])  이렇게 뜸
      • list(a.keys())  =>  ['사과']   이렇게 뜸
    • a.values() : a의 values들만 출력
    • a.items() : a의 key:value 쌍 모두 얻음
    • a.get(key) : key값으로 value 얻기
      • key 없으면 None 뜸
  • 삭제
    • a.clear() : 키발루쌍 모두 지움
    • a.remove(3) : 특정값 원소 삭제
  • if '사과' in a : 키가 안에 들어있는지 검색

 

집합 자료형

  • set() , 변수={} 로 집합만들기
  • 순서가 자꾸 바뀜. 중복 X
  • a = set(”en”) 하면
    • a = {’e’, ‘n’} 임
  • 교집합
    • a & b : a와 b의 교집합
    • a.intersection(b)
  • 합집합
    • a | b : a와 b의 합집합
    • a.union(b)
  • 차집합
    • a-b
    • a.difference(b)
  • a.add(b) : b 값 추가하기
  • a.update([b,c]) : 값여러개 추가하기
  • a.remove(b) : b 값 제거하기