iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 23
0
自我挑戰組

Kaggle的解題挑戰 2018版系列 第 23

[Day24] Kaggle的解題挑戰 2018版 - Python - Data Structure (2)

昨天講了一些list的簡單的操作,今天打算把其它較常用的Data structure也講完,只會大概簡單帶過不會講太深。

tuple

一個tuple的example

# tuple example
t1 = (1, 2, 3)
t2 = 4, 5, 6
print(t1)
print(t2)

tuple和list會大的差別主要是tuple是immutable的,這到底有什麼好處呢?主要有四個優點

  • 佔用空間較少
  • 可以當做字典的 key(因不可變)
  • 具名 tuple 可當做物件替代
  • 當做函式引數

set

set和Java的set是一樣的,主要就是拿來儲存不可重覆的值,但Python又多了一些簡單拿來操作集合的功能,真的很方便,Java的話,就都需要呼叫一些function才能進行操作。

s1 = set((1, 2, 3, 3, 3))
s2 = {1, 4, 5}
print(s1)
print(s2)
# unsion
print(s1 | s2)
# s1 - (intersection of s1 and s2)
print(s1 - s2)
# inersection
print(s1 & s2)
# in a or b but not both
print(s1 ^ s2)

dictionary

相等於Java中的Map,不過Java中其實有更細的分類,簡單的說就是key, value pair,可以使用key來快速的查找value這樣。這裏比較需要注意的是dictionary key所支援的資料型別,支援number, string, and tuple,tuple中也只能支援number, string, tuple,而不支援一些較為複雜的型別,咦?這感覺好像有點不太方便…。

tel = {'jack': 4098, 'sape': 4139}
tel['guido'] = 4127
print(tel)
del tel['sape']
tel['irv'] = 4127
print(tel)
print(dict([('a', 1), ('b', 2), ('3', 3)]))

鐵人賽也進行到了第24天了,結果才剛把Python的部分講完而已,之後的部分,就會講一些Kaggle或是資料分析上常用到一些Library。


上一篇
[Day23] Kaggle的解題挑戰 2018版 - Python - Data Structure (1)
下一篇
[Day25] Kaggle的解題挑戰 2018版 - Python資料分析相關的Library
系列文
Kaggle的解題挑戰 2018版30

尚未有邦友留言

立即登入留言