파이썬 데이터 관리
포스트
취소

파이썬 데이터 관리

해당 원글은 미디엄 블로그에서 작성한 내용을 해당 블로그에 기록하기 위해 가져옴. 원글은 2021.04.18일 작성.

개요

  • 헷갈리는 부분에 봉착했다. Array, Tuple, Dictionary
  • Array는 어느정도 알겠는데 Tuple, Dictionary가 헷갈린다.
  • 일단 하나하나 알아보자

Array

  • 선언 및 초기화는 다른 언어와 같다
1
2
stock_list = []
stock_list2 = ['123', '234', '567']
  • 뭐 알다시피 접근은 index 0부터
1
2
print(stock_list2[2])
# 567
  • 두 Array 합치기
1
2
3
4
5
6
7
8
stock_list = ['000', '111']
stock_list2 = ['123', '234', '567']
stock_list.append(stock_list2)

print(len(stock_list))
print(stock_list)
#3
#['000', '111', ['123', '234', '567']]
  • 이렇게 단순히 append 해버리면 파이썬은 2차원 배열이 되어버린다.
  • numpy를 이용하면 원하는대로… 코드가 좀 길어지지만 이방법 말고 는 없는 것 같다.
1
2
3
4
stock_list = ['000', '111']
stock_list2 = ['123', '234', '567']
stock_list = np.append(stock_list, np.array(stock_list2))
#['000' '111' '123' '234' '567']
  • 그 밖에 insert, del, pop, remove 기본 Array 함수가 있는 듯 하나, numpy를 쓸 거 같다.

Tuple

  • 기본형은 Array와 다르게 ()이다.
1
2
3
4
tuple1 = ()
tuple2 = ('a',)
tuple3 = 'a', 'b', 'c'
tuple5 = ('a', 'b', ('c', 'd'))
  • Array와 가장 다른 점은 값이 변하지 않는다는 것이다. 고정값을 사용할 때 Tuple을 사용하면 된다. 선언이 특이한 점이 값이 하나일 경우 ‘,’ 값을 뒤에 붙여야 한다고 한다. 그리고 ()없이도 선언이 가능함. 어쨋든 잘 안쓸 거 같음
1
2
3
4
5
6
tuple2 = ('a',)
tuple3 = ('b',)
tuple4 = ('c',)

print(tuple2 + tuple3 + tuple4)
#('a', 'b', 'c')
  • Tuple은 더하기가 되네… 신기하다.
1
2
print((tuple2 + tuple3) * 2)
#('a', 'b', 'a', 'b')
  • 곱하기도 됨.

Dictionary

Java의 map이랑 비슷한 듯.

  • 초기화
1
2
3
4
5
6
7
dic1 = {"a": "123", "b": "123", "c": "456"}
print(f'd["a"] = {dic1["a"]}')
print('d["a"] = ' + dic1["a"])
print('d["a"] = ' + dic1.get("a"))
# d["a"] = 123
# d["a"] = 123
# d["a"] = 123
  • value는 key 값으로 접근. [key]로 접근시 값이 없으면 에러, get(key)로 접근시 없으면 None. 그러므로 get으로 접근하는 것이 좋습니다.
  • key는 unique. immutable 값. mutable한 list나 dictionary값은 안됨. tuple은 됨.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dic1["d"] = "d value"
print(dic1)
dic1["d"] = "d mod value"
print(dic1)
dic1.update(d="dmod")
print(dic1)
del dic1["d"]
print(dic1)
dic1.clear()
print(dic1)
# {'a': '123', 'b': '123', 'c': '456', 'd': 'd value'}
# {'a': '123', 'b': '123', 'c': '456', 'd': 'd mod value'}
# {'a': '123', 'b': '123', 'c': '456', 'd': 'dmod'}
# {'a': '123', 'b': '123', 'c': '456'}
# {}
  • 값 추가는 새로운 key를 지정하여 값을 설정할 수 있음.
  • 동일한 key를 지정하여 값을 설정하면 기존 값이 수정됨
  • update를 통해 key값 수정 가능
  • del을 통해 key: value 삭제
  • clear는 dictionary 초기화
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
for d in dic1.items():
    print(d)
    print(d[0])
    print(d[1])

for k in dic1.keys():
    print(k)

for v in dic1.values():
    print(v)
('a', '123')
a
123
('b', '123')
b
123
('c', '456')
c
456
a
b
c
123
123
456
  • for문으로 dictionary 값에 접근하는 방법.
  • 파이썬은 대체로 심플하게 가능하다.

마무리

numpy가 파이썬 배열 관련 대표 library인 것 같은데 다음번에 한번 알아봐야겠다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

파이썬 Log, File

Java Stream groupingBy