[210710 TIL] Python

4821 단어 TILpythonTIL

tuple

  • tuple은 list와 비슷하지만 한번 선언되면 수정할 수 없다.
  • Tuple은 일반적으로 2개에서 5개 사이의 요소들을 저장할때 사용되며, 특정 데이터를 ad hoc(즉석적으로) 하게 표현하고 싶을때 사용된다.
  • List는 수정이 가능하고 여러 수의 요소들을 저장할 수 있도록 했기때문에 tuple보다 차지하는 메모리 용량이 더 크다.
    • 더 많은 기능과 flexibility를 제공하기 때문에 어쩔 수 없이 용량이 커지는것이다.
    • 하지만 tuple은 제한적인 만큼 용량이 더 적다. 그래서 수정이 필요없고 간단한 형태의 데이터를 표현할때는 tuple을 사용하는게 훨씬 더 효과적이다.

set

  • set은 list의 친척이다
    • list와 마찬가지로 다양한 타입의 요소를 저장할 수 있다.
  • list와 다른 점
    • List와 다르게 요소들이 순서대로 저장되어 있지 않다.
      • 즉 ordering이 없다. 그러므로 for 문에서 읽어들일때 요소들이 순서대로 나오는게 아니라 무작위 순서대로 나온다.
    • 순서가 없으므로 indexing도 없다. 몇번째 요소를 읽어들이거나 할 수 없다.
    • 동일한 값을 가지고 있는 요소가 1개 이상 존재 할 수 없다.
      • 즉 중복된 값을 저장할 수 없다.
      • 만일 새로 저장하려고 하는 요소와 동일한 값의 요소가 존재한다면 새로운 요소가 이 전 요소를 치환(replace)한다.

set 생성하는 법

set1 = {1, 2, 3}
set2 = set([1, 2, 3])
  • 중괄호 사용하기 { }
  • set( ) 함수 사용하기
    • set( ) 함수를 만들기 위해서는 list를 parameter로 전달해야 한다.
    • 그러므로 일반적으로 set() 함수를 사용해서 set를 만드는 경우는 list를 set로 변환하고 싶을 때 사용한다.
set1 = {1, 2, 3, 1}
print(set1)
 
> {1, 2, 3}
 
set2  = set([1, 2, 3, 1])
print(set2)
 
> {1, 2, 3}
  • set에는 중복된 값이 저장되지 않기 때문에 나중에 저장한 값만 남는다.

set에서 새로운 요소 추가하기

  • set은 list와 달리 요소가 순서대로 추가되지 않는다고 했다.
    • 그래서 set은 append 대신 add를 사용하여 요소를 추가한다.
my_set = {1, 2, 3}
my_set.add(4)
print(my_set)
 
> {1, 2, 3, 4}

set에서 새로운 요소 삭제하기

  • set에서 요소를 삭제할 때는 remove를 사용한다.
my_set = {1, 2, 3}
my_set.remove(3)
print(my_set)
 
> {1, 2}

Look up

  • set에 요소가 들어있는지 확인하는 것을 look up이라고 한다.
  • set에서 look up을 할 때는 in 을 사용한다.
>>> set = {1, 2, 3, 4}
>>> if 1 in set:
	print(1)

	
1

교집합, 합집합 (Intersection, Union)

>>> set1 = {1, 2, 3, 4, 5}
>>> set2 = {2, 4, 5, 6, 7}
>>> print(set1 & set2)
{2, 4, 5}
>>> print(set1.intersection(set2))
{2, 4, 5}
  • 집합은 & 키워드 혹은 intersection() 함수를 사용하면 된다.
>>> set1 = {1, 2, 3, 4, 5}
>>> set2 = {2, 4, 5, 6, 7}
>>> print(set1 | set2)
{1, 2, 3, 4, 5, 6, 7}
>>> print(set1. union(set2))
{1, 2, 3, 4, 5, 6, 7}
  • 합집합은 | 키워드 혹은 union 함수를 사용하면 된다.

빈 set을 만들려면?

  • empty set을 위한 literal syntax는 없기 때문에 empty set을 만들려면 그냥 set() 하면 된다.

딕셔너리

  • Dictionary 에서 element를 읽어 들이는 방법은 list와 유사하다.
    • List와 차이점은 요소의 index를 사용하는것이 아니라 key 값을 사용한다는 점이다.
hr_information = {"이름":"최혜림", "나이":23, "키":164}

hr_information["이름"]
  • key는 문자뿐만 아니라 숫자도 가능하다.
  • key값은 중복될 수 없다.
    • 만약 중복된다면 나중에 온 key값이 기존의 key값을 대신한다.

Set 과 Dictionary 의 차이

  • List와 다르게 요소들이 순서대로 저장되어 있지 않다.
    • 즉 ordering이 없다. 그러므로 for 문에서 읽어들일때 요소들이 순서대로 나오는게 아니라 무작위 순서대로 나온다.
    • 순서가 없으므로 indexing도 없다. 몇번째 요소를 읽어들이거나 할 수 없다.
  • 동일한 값을 가지고 있는 요소가 1개 이상 존재 할 수 없다.
    즉 중복된 값을 저장할 수 없다.
    • 만일 새로 저장하려고 하는 요소와 동일한 값의 요소가 존재한다면 새로운 요소가 이 전 요소를 치환(replace)한다.

List 와 Tuple 의 차이

  • tuple은 list와 비슷하지만 한번 선언되면 수정할 수 없다.
  • Tuple은 일반적으로 2개에서 5개 사이의 요소들을 저장할때 사용되며, 특정 데이터를 ad hoc(즉석적으로) 하게 표현하고 싶을때 사용된다.
  • List는 수정이 가능하고 여러 수의 요소들을 저장할 수 있도록 했기때문에 tuple보다 차지하는 메모리 용량이 더 크다.
    • 더 많은 기능과 flexibility를 제공하기 때문에 어쩔 수 없이 용량이 커지는것이다.
    • 하지만 tuple은 제한적인 만큼 용량이 더 적다. 그래서 수정이 필요없고 간단한 형태의 데이터를 표현할때는 tuple을 사용하는게 훨씬 더 효과적이다.

for문

  • for 문에서는 리스트가 가지고 있는 요소의 수 만큼 for 문에 속해있는 코드를 실행한다.
    • 이걸 iteration 이라고 한다. 만일 리스트가 5개의 요소를 가지고 있으면 5 iterations 이라고 한다.
for i in range(4):
	print(i)

break

continue

좋은 웹페이지 즐겨찾기