개발하는 삶
[Python] 자료형, 리스트, 튜플 본문
- 요약해서 필요한 부분만 넣었다!
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.strip() : 양끝 공백지우기
- a.upper(’b’) : b를 대문자로
- a.lower(’b’) : b를 소문자로
리스트/배열
- 다양한 타입의 자료형을 넣을 수 있음( , 를 기준으로 나눔)
- 리스트 초기화 (1차원 배열)
- a = []
a = list()
a = [0]*n
- a = []
- 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 = [1,2,3,4,5]
- 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.keys() : a의 key들만 출력 => dict_keys(['사과']) 이렇게 뜸
- 삭제
- 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 값 제거하기
'JavaScript, Vue.js, CSS > Python&Django' 카테고리의 다른 글
[Django] svg 및 함수 (0) | 2023.01.05 |
---|---|
[Django] 장고 태그 및 model.py 관련 (0) | 2023.01.02 |
[Django] 장고 설치 및 파일 구조 파악하기 (0) | 2022.12.28 |
[Python] 힙, 자료구조 (0) | 2022.06.23 |
[Python] 숫자, 문자 변환 (0) | 2022.06.19 |