DataScience
Python 1.기본 자료구조 D)튜플, 셋
leopard4
2022. 11. 16. 17:30
TUPLES¶
- Immutable Python objects.
- 튜플은 시퀀스, 즉 순서가 있습니다.
- 튜플은 괄호 ( ) 를 사용합니다.
In [2]:
#데이터 억세스는 리스트와 완전 똑같고
#데이터 수정, 추가 , 삭제는 안된다.
#보안
In [3]:
()
Out[3]:
()
In [4]:
tuple()
Out[4]:
()
In [6]:
my_tuple = (1, 'hello', 6.5555)
In [7]:
my_tuple
Out[7]:
(1, 'hello', 6.5555)
In [8]:
my_tuple[:-1]
Out[8]:
(1, 'hello')
In [9]:
my_tuple[0] = 10
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In [9], line 1 ----> 1 my_tuple[0] = 10 TypeError: 'tuple' object does not support item assignment
In [10]:
my_tuple.append(100)
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Cell In [10], line 1 ----> 1 my_tuple.append(100) AttributeError: 'tuple' object has no attribute 'append'
In [11]:
del my_tuple[0]
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In [11], line 1 ----> 1 del my_tuple[0] TypeError: 'tuple' object doesn't support item deletion
SETS¶
- 셋에 들어있는 데이터는 순서가 없습니다.
- 셋에는 동일한 값이 저장되지 않습니다. 우리가 배웠던 집합과 같습니다.
- 셋은 중괄호 { } 로 정의합니다.
In [12]:
#1, 3, 5 , 1, 1, 1 ,1 => 1, 3, 5 (집합에서는)
In [14]:
#비어있는 셋은 만드는 방법이 딱 한개다!
set()
Out[14]:
set()
In [15]:
#데이터가 있는 셋을 만들자.
In [19]:
my_set = {1,3,5,1,1,1,1}
In [20]:
my_set
Out[20]:
{1, 3, 5}
In [21]:
my_set.add(10)
In [22]:
my_set
Out[22]:
{1, 3, 5, 10}
In [23]:
my_set.add(5)
In [24]:
my_set
Out[24]:
{1, 3, 5, 10}
In [25]:
my_set.discard(3)
In [26]:
my_set
Out[26]:
{1, 5, 10}
In [ ]:
In [27]:
page_view = []
In [28]:
page_view.append(1)
In [29]:
page_view.append(3)
In [30]:
page_view.append(4)
In [31]:
page_view.append(2)
In [32]:
page_view.append(54)
In [33]:
page_view.append(1)
In [34]:
page_view.append(1)
In [35]:
page_view.append(4)
In [36]:
page_view
Out[36]:
[1, 3, 4, 2, 54, 1, 1, 4]
In [37]:
len(page_view)
Out[37]:
8
In [39]:
set(page_view)
Out[39]:
{1, 2, 3, 4, 54}
In [ ]:
#실사용 예시
In [56]:
event_A = set()
In [57]:
event_A.add(1)
In [58]:
event_A.add(3)
In [59]:
event_A.add(5)
In [60]:
event_A.add(6)
In [61]:
event_B = set()
In [62]:
event_B.add(100)
In [63]:
event_B.add(5)
In [64]:
event_B.add(7)
In [65]:
event_B.add(2)
In [66]:
event_A | event_B #합집합 , 이벤트 총 참여자 수
Out[66]:
{1, 2, 3, 5, 6, 7, 100}
In [67]:
event_A & event_B #교집합, 이벤트 중복 참여자 수
Out[67]:
{5}
In [68]:
event_A - event_B #차집합, 이벤트 중복참여자를 제외한 수
Out[68]:
{1, 3, 6}
In [ ]:
#튜플에 데이터 1개를 넣었을 경우 튜플이 깨진다.
In [69]:
(100)
Out[69]:
100
In [72]:
#때문에 (100,)로 넣어야한다.
In [71]:
(100,)
Out[71]:
(100,)
In [73]:
3, 4 ,5 #자동으로 튜플
Out[73]:
(3, 4, 5)
In [76]:
1,
Out[76]:
(1,)