北商資管Python課程
  • 北商資管Python課程
  • 一. 安裝軟體
    • 1. 安裝Python
    • 2. 安裝Visual Studio Code
    • 3. 設定Visual Studio Code
  • 二. 基本資料型態
    • 1. 整數, int
      • 1-1 以變數儲存整數
      • 1-2 算術運算
      • 1-3 運算子的運算優先順序
      • 1-4 邏輯運算
      • 1-5 命名變數
      • 1-6 鍵盤輸入
      • 1-7 格式化輸出
    • 2. 浮點數, float
      • 2-1 使用浮點數
      • 2-2 浮點數的精準度
      • 2-3 算術運算
      • 2-4 取出浮點數的整數部分
      • 2-5 無條件進位及無條件捨去
      • 2-6 四捨五入
      • 2-7 浮點數的格式化輸出
    • 3. 布林, bool
      • 3-1 設定布林值
      • 3-2 邏輯運算式
      • 3-3 邏輯式評估的短路迴圈
    • 4. 字串, str
      • 4-1 設定字串變數
      • 4-2 字串的加法及乘法
      • 4-3 去除字串的前後空白及計算字串長度
      • 4-4 字串轉整數/浮點數
      • 4-5 鍵盤輸入字串值
      • 4-6 格式化輸出
      • 4-7 判斷字串中是否存在某個字
      • 4-8 使用索引運算子
      • 4-9 字串內容轉大寫/小寫
    • 5. 元組, tuple
      • 5-1 設定tuple變數
      • 5-2 取用部分tuple內容
      • 5-3 配合in與not in的使用
      • 5-4 逐一取出tuple內容
      • 5-5 僅有1個元素的tuple
      • 5-6 將tuple轉成list
    • 6. 清單, list
      • 6-1 設定清單變數
      • 6-2 取出部份清單變數
      • 6-3 清單內容個數及加總
      • 6-4 清單的index()及count()方法
      • 6-5 清單的排序
      • 6-6 清單的-1指標值
      • 6-7 清單的del及append()
      • 6-8 清單的pop()及insert()
      • 6-9 配合in與not in的使用
      • 6-10 list comprehension
    • 7. 集合, set
      • 7-1 設定集合變數
      • 7-2 add()及remove()
      • 8-2 增加及刪除字典內容
      • 7-4 配合in與not in的使用
      • 7-5 聯集和交集
      • 7-6 差集和對稱差集
    • 8. 字典, dict
      • 8-1 設定字典及取出值
      • 8-2 新增及刪除字典內容
      • 8-3 依照值排序
      • 8-4 累計人數
  • 三. 邏輯設計
    • 1. if條件式
      • (1) not, and, or
      • (2) 只有一個if
      • (3) if與else
      • (4) if內又有if
      • (5) if...elif
    • 2. while迴圈
      • (1) 重覆的改變數值
      • (2) 條件成立才離開迴圈
    • 3. for迴圈
      • (1) 逐一取出字串內容
      • (2) 逐一取出清單內容
      • (3) 使用雙層迴圈
  • 四. 處理檔案
    • 1. list資料
    • 2. CSV資料
    • 3. txt資料
  • 五. 練習
    • 1. 設定初值的計算
    • 2. 由鍵盤輸入值
    • 3. 處理輸入值的錯誤
    • 4. 判斷是否有折扣
    • 5. 判斷何種折扣
    • 6. 判斷字串內容
    • 7. 判斷字串不等於, 而且, 或者
    • 8. 判斷各科成績是否及格
    • 9. 判斷平均成績是否及格
    • 10. 判斷數值的區段
    • 11. 計算不同商品代號的總金額
    • 12. 不同商品代號內的折扣條件
    • 13. 判斷多個資料的折扣
    • 14. 判斷多組資料的折扣
    • 15. 讀入list內容
    • 16. 判斷多組不連續資料
    • 17. 期中考練習(大學部)
    • 18. 期中考練習(五專部)
    • 19. 期中考(大學部)
    • 20. 期中考(五專部)
    • 21. 期中考
    • 22. 讀ntub.csv
    • 23. 讀ntub.csv並計算
    • 24. 讀ntub.csv並篩選
    • 25. 讀ntub.csv並統計
    • 26. 篩選iris.csv以產生輸出檔
    • 27. 統計iris.csv並印出
    • 28. 篩選 StudentsPerformance.csv
    • 29. 統計 StudentsPerformance.csv
    • 30. 用dict統計 StudentsPerformance.csv
    • 31. 篩選card.csv以產生輸出檔
    • 32. 分割字串以篩選card.csv
    • 33. 計算card.csv成績
    • 34. 輸出card.csv成績表
    • 35 統計card.csv的人數
    • 33. 輸出樂透對獎結果
    • 37. 統計樂透投注號碼
    • 38. 分析樂透投注號碼
    • 39. 分析蛋糕購買品項
    • 40. 分析各品項蛋糕購買數量
    • 41. 分析蛋糕購買數量
    • 42. 分析蛋糕購買金額
    • 43. 計算電信費
    • 44. 統計鐵達尼號乘客
    • 45. 統計鐵達尼號乘客 - set應用
    • 46. 蔡英文總統就職演說
    • 47. 期末考練習-1
    • 48. 期末考練習-2
    • 49. 期末考練習-3
    • 50. 期末考練習-4
  • 六. 使用ChatGPT
    • 1. 可讀性檢查
    • 2. 指令解釋
    • 3. AI問問題
Powered by GitBook
On this page

Was this helpful?

  1. 二. 基本資料型態
  2. 6. 清單, list

6-10 list comprehension

Previous6-9 配合in與not in的使用Next7. 集合, set

Last updated 2 years ago

Was this helpful?

當我們要建立一個清單時,可以將其內容一個一個寫在中括號之內。如果清單的內容很多時,用一一列舉的寫法不僅容易出錯,有時也不太實際。例如,想建一個內容為1 ~ 1000的清單,採用列舉法實在強人所難。此時如果用清單推導(list comprehension)的方式表示,可以輕鬆的完成此事。如以下的示範:

程式:
a = [i+1 for i in range(1000)]

print(a)
執行結果:
[1, 2, 3, 4, 5, ..., 999, 1000]

在以上的例子中,清單的內容宣告為i+1,但是i並未說明是什麼?因此在for指令之後,就說明i是range(1000)中的每一個值,也就是0 ~ 999的值。

再看以下的例子:

程式:
a = [chr(ord('A')+i) for i in range(26)]

print(a)
執行結果:
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']

在以上的程式,ord('A')是指A的內碼,其值為65,而B、C、D、...依序為66、67、68....,在程式中chr()將內碼再轉回字元。因此設計讓i從0~25遞增,再加上65的基底,就變成A、B、C、D、 ... 、Y、Z。

再看以下例子:

程式:
a = [i for i in range(1, 1001) if i%23==0 or i%35==0]

print(a)
執行結果:
[23, 35, 46, 69, 70, 92, 105, 115, 138, 140, 161, 175, 184, 207, 210, 230, 245, 253, 276, 280, 299, 315, 322, 345, 350, 368, 385, 391, 414, 420, 437, 455, 460, 483, 490, 506, 525, 529, 552, 560, 575, 595, 598, 621, 630, 644, 665, 667, 690, 700, 713, 735, 736, 759, 770, 782, 805, 828, 840, 851, 874, 875, 897, 910, 920, 943, 945, 966, 980, 989]

這個例子在list comprehension中加入if指令,先用for指令說明i是什麼,再用if指令說明i的條件。

自主練習

  1. 建立一個清單,內容是小寫英文'a' ~ 'z'。

  2. 建立一個清單,內容是2的1次方 ~ 2的10次方。

  3. 建立一個清單,內容是1~100中所有除以5的餘數為3的數。