[TIL. 25] Python - list, tuple, set

신지원·2021년 3월 22일
0

Python

목록 보기
11/14
post-thumbnail

list

[["Bulls", 23], ["White Sox", 45]]

다차원 리스트

list1 = [1, 2, 3, 4]
list2 = [5, 6, 7]

list1 + list2
print(list1)
> [1, 2, 3, 4]

list1 = list1 + list2
print(list1)
> [1, 2, 3, 4, 5, 6, 7]


리스트를 +를 이용해서 합한 값을 저장해야할 경우, 변수에 지정해주어야 한다.
+를 이용해서 list와 list를 합해줄 경우 기존의 리스트가 수정되는 것이 아니고 기존의 list와 다른 새로운 list가 생성된다.

  • insert
    append, + 와 다르게 원하는 위치에 요소를 삽입할 수 있다.
    그래서 삽입하기를 원하는 index도 지정해주어야 한다.
    list.insert(삽입하기 원하는 위치, "삽입할 요소")
  • list slicing
list_name[start : stop]

stop : 비포함임

list_name[start : stop : step]
step은 그 값만큼 건너뛰어 가져오는 기능

⭐️ slicing은 기존에 있던 list를 수정하는 것이 아닌, 새로운 list를 만들어 내는 것이다.

  • delete
del list_name[index_num]

인덱스르 이용하여 원하는 요소를 리스트에서 삭제 시킨다.

  • remove
    인덱스 대신 요소이름을 써서 삭제 시킬수 있다.
list_name.remove(요소)

tuple

list 와 비슷하게 요소를 저장할때 사용
list는 수정이 가능하지만, tuple은 수정이 불가능하다.
my_tuple = (1,2,3)
튜플 읽어들이는 방법은 slicing과 동일하다.

  • tuple 사용하는 경우
    튜플은 2개에서 5개 사이의 요소들을 저장할때 사용.
    특정 데이터를 즉석적으로 표현하고 싶을때 사용.
  • list와 tuple의 차이점
    list는 수정이 가능하고 여러 수의 요소들을 저장할 수 있기 때문에 tuple보다 차지하는 메모리 용량이 크다.
    tuple은 list보다 기능이 적기 때문에 용량이 더 작고, 수정이 필요없고 간단한 형태의 데이터를 표현할때는 tuple이 저 효과적이다.

set

list 와 비슷!! 하지만 다른점이 있다.

⭐️ list와 set의 차이점
1) list와 다르게 요소들이 순서대로 저장되어 있지 않다. 따라서 for 문에서 읽어드릴때 요소를 순서대로 나오게 하는게 아니라 무작위 순서대로 나온다.
2) 순서가 없기때문에 index도 없다.
3) 중복값 저장 불가능. 새로 저장하려고 하는 요소와 동일한 값의 요소가 존재한다면 새로운 요소가 이전 요소를 치환한다.

set와 dictionary의 차이점
dictionary는 key값으로 value를 찾아내는 hash table 구조이다. 그러나 set은 key 값만 존재한다.

⭐️ set은 tuple과 다르게 값을 바꿀 수 있다.

  • 중괄호 {}를 사용하는 방법과 set() 함수를 사용하는 방법
  1. set()함수를 사용해서 set을 만들기 위해서는 list를 인자로 전달해야된다.
set1 = {1, 2, 3}
set2 = set([1, 2, 3])

리스트를 set으로 바꿀 때 사용한다.
set은 중복된 값이 저장되지 않기 떄문에 같은 값이 한개 이상 있다면, 맨 마지막에 저장되는 요소만 남아있게 된다.

  1. 새로운 요소 추가하기
    list와 다르게 add()를 사용한다.
my_set = {1, 2, 3}
my_set.add(4)
print(my_set)

> {1, 2, 3, 4}
  1. 요소 삭제하기
    remove() 함수 사용한다.
my_set = {1, 2, 3}
my_set.remove(3)
print(my_set)

> {1, 2}
  1. 값이 존재하는지 확인 하기
    in 을 사용한다.
my_set = {1, 2, 3}

if 1 in my_set:
    print("1 is in the set")
> 1 is in the set

if 4 not in my_set:
    print("4 is not in the set")
> 4 is not in the set
  1. 교집합, 합집합 사용
  • 교집합
    & 또는 intersection() 함수 사용
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}

print(set1 & set2)
> {4, 5, 6}

print(set1.intersection(set2))
> {4, 5, 6}
  • 합집합
    | 또는 union 함수 사용
print(set1 | set2)
> {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(set1.union(set2))
> {1, 2, 3, 4, 5, 6, 7, 8, 9}

0개의 댓글