Python [], (), {}, {"":""}

고준영·2021년 8월 4일
1

Python🐍

목록 보기
3/7
post-thumbnail

1. before to start

파이썬으로 코딩을 하다보면 가끔 자료형의 연산에 대해서 헷갈려서 찾아보게 된다
매번 외워야지 하지만 그때그때 검색을 통해서 구현하다보니 잘 잊게 되는데 이번 기회에 정리해보려고 한다
알고리즘을 공부 할 때에도 계속 기억해야지 하는데 항상 잘 잊게 되어 정리가 필요한 것 같다

2. List

1. slicing

index = [1,2,3,4,5,6]

a= index[1:3]
b= index[2:]
c= index[:3]

>>> a
[2,3]

>>>b
[3,4,5,6]

>>>c
[1,2,3]
  • 의미를 살펴보면 [1:3]은 1번 index의 값 부터 3번 index의 전까지
  • [2:]은 2번 index부터 끝까지
  • [:3]은 0번 index부터 3번 index전까지

2. 연산

##덧셈
a = [1,2,3]
b = [4,5,6]

>>> a+b
[1,2,3,4,5,6]

##반복
a = [1, 2, 3]
>>> a * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

##길이
a = [1, 2, 3]
>>> len(a)
3

##삭제
a = [1, 2, 3]
>>> del a[2]
>>> a
[1,2]
del은 인덱스 값을 넣어줘야 한다!!

3. List관련 함수

##추가
a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]

##정렬
a = [1, 4, 3, 2]
>>> a.sort()
>>> a
[1, 2, 3, 4]

##뒤집기
a = ['a', 'c', 'b']
>>> a.reverse()
>>> a
['b', 'c', 'a']

##index 알아내기
a = [1,2,3]
>>> a.index(3)
2
>>> a.index(1)
0

##append와는 다른 index값과 같이 추가해주는것 insert
a = [1, 2, 3]
>>> a.insert(0, 4)
>>> a
[4, 1, 2, 3]

##remove는 처음에 나오는 것 하나 삭제
a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)
>>> a
[1, 2, 1, 2, 3]

##pop는 맨 마지막 요소를 가져오고 삭제
a = [1,2,3]
>>> a.pop()
3
>>> a
[1, 2]

##len과 비슷한 요소의 갯수 세기 count
a = [1,2,3,1]
>>> a.count(1)
2

3. Tuple

1. 특징

  • 리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싼다.
  • 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.
>>> t1 = ()
>>> t2 = (1,)
>>> t3 = (1, 2, 3)
>>> t4 = 1, 2, 3
>>> t5 = ('a', 'b', ('ab', 'cd'))

2. 연산

  • 튜플의 값은 변경이 불가능 하기 때문에 가능한 연산이 별로 없다.
##더하기
>>> t1 = (1, 2, 'a', 'b')
>>> t2 = (3, 4)
>>> t1 + t2
(1, 2, 'a', 'b', 3, 4)

##반복
>>> t2 = (3, 4)
>>> t2 * 3
(3, 4, 3, 4, 3, 4)

##길이 구하기
>>> t1 = (1, 2, 'a', 'b')
>>> len(t1)
4

3. Set

1. 특징

  • List와 비슷하지만 List는 순서인 index가 있는 반면에 순서가 존재하지 않는다.
  • 동일한 값을 가질 수 없다.

2. 연산

##생성
my_list = [1,2,3]
my_set1 = set(my_list)
my_set2 = {1,2,3}

##추가
my_set1.add(4)
my_set1
>>>{1,2,3,4}

##삭제
my_set1.remove(4)
my_set1
>>>{1,2,3}

##검색
1 in my_set1
>>>True

5 in my_set1
>>>False

##합집합
my_set1 = {3,4,5}
my_set2 = {1,2,3}

my_set3 = my_set1 | my_set2
>>>{1,2,3,4,5}

##교집합
my_set3 = my_set1 & my_set2
>>>{3}

4. Dictionary

1. 특징

  • list와 비슷한 구조이지만 Keyword를 갖는 자료형이다
  • 게임 캐릭터를 상상해보면 캐릭터에는 닉네임, 레벨, 직업, 특징 등이 있으니까 이러한 Keyword를 갖고 있는 값을 저장하기 위해서는 dictionary사용
dict character{
    "nicname" : "JAYKO",
    "level" : 27,
    "major" : "programming",
    "Characteristic" : "I love JEJU",
}	
  • 위 처럼 선언 가능

2. 추가

##dict 쌍 추가
>>> a = {1: 'a'}
>>> a[2] = 'b'
>>> a
{1: 'a', 2: 'b'}

>>> del a[1]
>>> a
{2: 'b'}

##Key 사용해서 Value얻기
>>> grade = {'pey': 10, 'julliet': 99}
>>> grade['pey']
10
>>> grade['julliet']
99

3. 함수

##key list 만들기
>>> a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}
>>> a.keys()
a.keys() = (['name', 'phone', 'birth'])

##value list 만들기
>>> a.values()
dict_values(['pey', '0119993323', '1118'])

##key , value 쌍 얻기
>>> a.items()
dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])

##key로 value얻기
>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> a.get('name')
'pey'
>>> a.get('phone')
'0119993323'

## 여기서 굳이 get을 써야하나 라는 생각을 할 수 있는데 get을 쓰지 않고, 호출 할 경우 상응하는 key가 없을 때 에러가 발생!! get을 쓰면 None 반환
>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> print(a.get('nokey'))
None
>>> print(a['nokey'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'nokey'

##해당 key가 dict안에 있는지 확인
>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>>> 'name' in a
True
>>> 'email' in a
False

5. Conclusion

위의 내용을 정리하면서 가장 중요하게 생각한 부분은 함수로 구현되는 기능인지 아닌지를 잘 보았던것 같다
함수에 기반한 기능들은 살펴보면 ()를 사용하여 paramiter을 받거나 필요가 없다면 공백으로 두는 것을 볼 수 있었다. 해당 기능들이 함수인지 아닌지 파악해야 응용해서 사용 하는데 조금 더 용이하기에 함수인지 아닌지 구분하여 공부했다!!빠이아!!!🔥
21.08.04 위코드 1주차 수요일

profile
코드짜는귤🍊 풀스택을 지향하는 주니어 개발자 입니다🧡

0개의 댓글