Python 기본 문법 (2)

Suhyeon Lee·2024년 10월 14일
0

기본 데이터 유형(cont'd)

리스트(lists)

string_list = ["a", "b", "c", "d"]
number_list = [1, 2, 3, 4]

# 인덱싱
print(string_list[0]) # a
print(number_list[2]) # 3

# 슬라이싱
print(string_list[:2]) # ['a', 'b']
print(number_list[1:3]) # [2, 3]

# 더하기
print(string_list + number_list) # ['a', 'b', 'c', 'd', 1, 2, 3, 4]

# 반복하기
print(number_list * 2) # [1, 2, 3, 4, 1, 2, 3, 4]

# 길이 구하기
print(len(number_list)) # 4

# 값 수정하기
number_list[1] = 5
print(number_list) # [1, 5, 3, 4]

# 요소 삭제하기
del number_list[1]
print(number_list) # [1, 3, 4]

# 요소 추가
number_list.append(0)
print(number_list) # [1, 3, 4, 0]

# 리스트 정렬
number_list.sort()
print(number_list) # [0, 1, 3, 4]

# 리스트 뒤집기
number_list.reverse()
print(number_list) # [4, 3, 1, 0]

# 리스트 인덱스 반환
# index(x) x값이 있으면 x의 인덱스값 반환
# 없으면 에러가 발생합니다.
print(number_list.index(3)) # 1

# 리스트 요소삽입
# insert(a, b) a번째에 b를 넣어라
number_list.insert(0, 10)
print(number_list) # [10, 4, 3, 1, 0]

# 리스트 요소제거
# remove(x) 첫번째로 나오는 x를 제거해라
number_list.remove(10)
print(number_list) # [4, 3, 1, 0]

# 리스트 요소 꺼내기
# pop() 제일 마지막 요소를 꺼냄
print(number_list.pop()) # 0
print(number_list) # [4, 3, 1]

# 리스트 요소 개수 세기
# count(x) 리스트 안에 x가 몇개인가
print(number_list.count(3)) # 1

# 리스트 확장
# extend(list)
number_list.extend([5,6,7])
print(number_list) # [4, 3, 1, 5, 6, 7]

튜플(Tuple)

  • 튜플은 리스트와 비슷
  • 요소의 값을 변화시킬수 없다는 점을 제외하고는 완전히 동일
  • 인덱싱, 슬라이싱, 더하기, 곱하기, 길이 구하기 가능
  • 차이점
    • 리스트는 [] 튜플은 ()
    • 리스트는 요소의 생성, 삭제, 수정이 가능함 (변경가능)
      튜플은 요소의 값을 바꿀 수 없습니다 (변경불가능)
base_tuple = (1,2,3,4)

plus_tuple = (5, 6)

print(base_tuple[2]) # 3
print(base_tuple[1:]) # (2,3,4)
print(base_tuple + plus_tuple) # (1,2,3,4,5,6)
print(base_tuple * 2) # (1,2,3,4,1,2,3,4)
print(len(base_tuple)) # 4

딕셔너리(Dictionaries)

  • 대응 관계를 key value로 나타내는 자료형입니다.
  • 예를 들어 이름: 누구, 나이: 10 , 성별: 남 이런식으로 표현되어 리스트나 튜플처럼 순차적으로 요솟값을 구하지 않고 key를 통해 value를 얻습니다.
dictionary = {
    "이름": "누구",
    "나이": "10살",
    "성별": "남"
    }

print(dictionary["이름"]) # 누구

# ket value 추가, 삭제
dictionary["생일"] = "03-02" 
print(dictionary) # {'이름': '누구', '나이': '10살', '성별': '남', '생일': '03-02'}

del dictionary["성별"]
print(dictionary) # {'이름': '누구', '나이': '10살', '생일': '03-02'}

# 이미 존재하는 key에 value를 할당하면 값이 업데이트 됩니다.
# 중복키를 허용하지 않습니다.
dictionary["이름"] = "최양임"
print(dictionary) # {'이름': '최양임', '나이': '10살', '생일': '03-02'}

# 딕셔너리 관련 함수

# key 값만 모아 dict_key 객체를 리턴합니다.
print(dictionary.keys()) # dict_keys(['이름', '나이', '생일'])

# value 값만 모아 dict_values 객체를 돌려줍니다
print(dictionary.values()) # dict_values(['최양임', '10살', '03-02'])

# key ,value 쌍을 튜플로 묶어 dict_items 객체로 돌려줍니다
print(dictionary.items()) # dict_items([('이름', '최양임'), ('나이', '10살'), ('생일', '03-02')])

# key 값으로 value값을 가져옵니다
# dictionary["생일"] 과 같은 결과를 리턴하지만
# 차이로는 dictionary["생일"] 키가 없을때 에러를 발생시킵니다
# .get() 없을시 None을 반환합니다.
print(dictionary.get("생일")) # 03-02

# "이름" 이라는 key가 딕셔너리 안에 있는지 학인
print("이름" in dictionary) # True

# 딕셔너리 비우기
print(dictionary.clear()) # None**

집합(Set)

  • 집합에 관련된 연산들을 쉽게 처리하기 위한 자료형
  • 특징
    • 중복을 허용하지 않음
    • 순서가 없음
  • 중복을 허용하지 않기 때문에 중복을 제거하기 위해 자주 사용됨
set1 = set([1,2,3,4,5,6])
set2 = set([3,4,5,6,7,8])

# 집합 연산

# 교집합
print(set1 & set2) # {3, 4, 5, 6}

# 합집합
print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7, 8}

# 차집합
print(set1 - set2) # {1, 2}

# 요소 추가
set1.add(7)
print(set1) # {1, 2, 3, 4, 5, 6, 7}

# 요소 여러개 추가
set1.update([8,9,10])
print(set1) # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

# 특정 요소 제거
set1.remove(10)
print(set1) # {1, 2, 3, 4, 5, 6, 7, 8, 9}

# 중복제거
dup = [1,1,1,2,2,3,3,3,3,4,4,4,]
print(set(dup)) # {1, 2, 3, 4}

불(boolean)

  • 참과 거짓, True와 False를 나타내는 자료형
  • '불리안'이라고도 함
a = True
b = False

# <class 'bool'>
print(type(a))
print(type(b))

# 조건문의 리턴값으로도 사용됩니다.
print(10 == 10) # True
print(10 > 1) # True
print(10 < 1) # False
  • 자료형의 True, False 표현
    |값|True or False|
    |--|--|
    |"python"|True|
    |""|False|
    |[1, 2, 3]|True|
    |[]|False|
    |(1, 2, 3)|True|
    |()|False|
    |{'a':1}|True|
    |{}|False|
    |1|True|
    |0|False|
    |None|False|
profile
2 B R 0 2 B

0개의 댓글