List 資料型態的常見基本操作-Python 從零開始(三)


追蹤量化通的粉絲專頁量化通QuantPass」即時獲取實用的資源!

一、Python 資料處理-list 串列資料

Python 的資料型態(型別)可以分為文字、數字、布林值和容器,容器常見的有 List、 Dictionary。

list 串列在 Python 使用上,是很常被使用到的資料型態,它就跟名稱(list)一樣,像是一個清單容器,可以儲放文字、數字、甚至是串列型態。Python撰寫程式的時候,只要邏輯和程式碼是正確的,就會衍生出各式的使用方式。

1. list 串列的使用方式

list 使用的方式是用中括號 [ ] 將資料裝起來,資料可以是數值、文字,也可以是放入另外的 list。

變數名稱 = [ 資料型態, 資料型態, [資料型態,資料型態] ]

a = [123,4.56,'台積電','2330',666] 
print(a.index('2330'))

結果:

<class 'list'>

2. list 串列的資料位置概念

串列在使用上是用位置順序來辨別資料,所以使用串列的時候,我們需要了解資料的位置。在許多程式語法中,第一個位置一定是從 0 開始計數。

串列
a =[

123 ,

4.56 ,

“台積電” ,

“2330” ,

666 ]

資料位置

0

1

2

3

4

Py 101209161710
Py 101209161711

二、Pytho 常見的基本串列 list 使用方式

  1. 取得 n 個位置的資料是什麼
a = [123,4.56,'台積電','2330',666] 
print(a[0]) 
print(a[3])

結果:

123
2330
  1. 取得串列資料:輸出位置從0和位置3之前的內容
a = [123,4.56,'台積電','2330',666]    
print(a[0:3])

結果:

[123, 4.56, '台積電']
  1. 刪除指定資料:刪除位置0,和位置3之前內容,也就是位置1、2
a = [123,4.56,'台積電','2330',666] 
del a[0:3] 
print(a)

結果:

['2330',666]
  1. 取得資料在串列是第幾個位置
a = [123,4.56,'台積電','2330',666] 
print(a.index('2330'))

結果:

3
  1. 查詢串列中的資料數量
a = [123,4.56,'台積電','2330',666] 

print(len(a))   #查詢a的資料有幾個
print(len([123,4.56,'台積電']))  #查詢[ ]內的資料共有幾個

結果:

5
3
  1. 查詢串列中最小/最大數值
a = [123,4.56,666]    #僅限定數值資料 
print(min(a)) 
print(max(a))

結果:

4.56 
666
  1. 計算資料在串列中出現的次數
a = [123,4.56,'台積電','2330',666] 
print(a.count(666))

結果:

1

三、Pytho 進階串列 list 使用方式

  1. 新增資料:將「單個」資料新增到串列後方
a = [123, 4.56, '台積電', '2330', 666] 
a.append('python') 
print(a)

結果:

[123, 4.56, '台積電', '2330', 666, 'python']
  1. 新增資料:將「多個」資料新增到串列後方
a = [123, 4.56, '台積電', '2330', 666] 
a.extend(['python', 'abc'])  
print(a)

結果:

[123, 4.56, '台積電', '2330', 666, 'python', 'abc']
  1. 新增資料:將資料新增指定的位置
a = [123, 4.56, '台積電', '2330', 666]
a.insert(2,'python')    #將資料(python)新增到2的位置
print(a)

結果:

[123, 4.56, 'python', '台積電', '2330', 666]
  1. 刪除資料:列出刪除的資料是什麼
a = [123, 4.56, '台積電', '2330', 666] 
print(a.pop())   # pop內沒填數值,就是刪除最後一個 
print(a.pop(3))  #有數值就是刪除對應的位置   
print(a)

結果:

666    #回傳被刪除的資料 
2330   #回傳被刪除的資料 
[123, 4.56, '台積電']  #被pop刪掉的資料,之後就不會再出現
  1. 資料順序反轉
a = [123, 4.56, '台積電', '2330', 666]
a.reverse()
print(a)

結果:

[666, '2330', '台積電', 4.56, 123]
  1. 數值資料從小到大自動排列
a = [123, 4.56, 666]   #僅限定數值資料 
a.sort() 
print(a)

結果:

[4.56, 123, 666]

以上就是常見的基本與進階的 list,雖然一開始可能不會那麼好懂何時會用到, 但我更覺得是當需要用的時候,再來找就好,不需要特別記下所有的操作模式,那很痛苦的哈哈,那今天的介紹大概就到這邊,如果有更多的想法,隨時再跟我說囉!

本系列會從 Python 基本的語法開始介紹,讓沒有程式背景的新手,也能開始用 Python 程式交易。如果你是進階的交易者,可以點擊連結觀看量化通其他 Python 進階文章,認識 爬蟲實用套件資產配置 等內容。

建議可以照順序閱讀,從零開始學習 Python:


量化通粉絲社群,一起討論程式交易!

加入LINE社群量化交易討論群」無壓力討論與分享!

加入臉書社團「程式交易 Taiwan」即時獲取實用的資源!

RoWay
RoWay

多年投資經驗的兩岸三地操盤手,曾任海外資產管理公司交易平台的產品經理、與各外商投資公司合作開發各式交易策略與系統。

擅長用Python執行資料蒐集、整理、分析與交易;也善於用Multicharts、MetaTrader等系統建構並回測期貨、期權、區塊鏈策略進而完成投資組合管理。

文章: 27

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *