Chinese, Traditional subtitles

← 03-42 Index

dummy description

Get Embed Code
5 Languages

Showing Revision 3 created 08/01/2014 by Fran Ontanaya.

  1. 還有很多其他方法能夠定義 find-element
  2. 下面我將展示一種方法,
    利用另一個內建 (built-in) 的列表操作
  3. 這個操作還未介紹過,它大幅簡化了 find-element
  4. 這個操作稱為 index
  5. index 方法 (method) 用於列表
  6. 你傳入一個值,index 的輸出是那個值位於列表的位置
  7. 所以這個內建 index
    幾乎完全按照我們的需求解決了 find-element
  8. 不同之處在於,當我們對列表呼叫 index,
    如果這個列表不包含我們傳入的值
  9. index 不會傳回 -1,而是給我們 error
  10. 看看 Python 解譯器的情況
  11. 我要定義變數 p ,並指定列表 [0,1,2] 的值給它
  12. 如果我們呼叫 p.index(),傳入 2,我們得到結果是 2
  13. 值 2 在 p 裡的位置
  14. 第二個例子,在列表裡我們多加兩個 2
  15. 我們看到,它總是給我們第一個 2
  16. 所以 p.index 傳回的結果,是出現值 2 的第一個位置
  17. 現在我們試一個不存於列表中的元素
  18. 結果不是得到 -1,而是得到 error
  19. 我們要找的標靶 (target) 元素在列表中找不到
  20. 所以,如果我們想讓 find-element 完全按照要求
  21. 我們不能直接使用 index
  22. 還有其他一些列表操作 (list operation),可能很有幫助
  23. 總結一下 index 方法 (mehod) 的作用
  24. 如果傳入的值存在於列表中,
    它傳回這個值出現的第一個位置
  25. 這正是我們希望 find-element 做的事
  26. 問題在於,如果這個值在列表中找不到,就會產生 error
  27. 還有一個列表操作 (list operation)
    可以幫助我們使用 index 來寫 find-element
  28. 它對其他很多事情也很有用,那就是字組 'in'
  29. 我們已經在 for loop 中使用 in
  30. 我們在這裡使用同一個字組 in,
    但是根據上下文,這裡的意義有些不同
  31. 這個語法是在 in 的左邊放一個值,後面跟著一個列表
  32. 這個語法與我們之前見到的 Python 語言相比有些奇怪
  33. 它看起來不像程序呼叫 (procedure call),
    但是用英文對這個內容進行表達時
  34. 卻是非常自然的
  35. 如果我們說:“ 3 在列表中嗎?”
  36. 用 Python 語言寫出來就是 3 in p
  37. 看看解譯器如何運作
  38. 現在我印出 3 in p 的結果
  39. 3 不在列表中,所以印出 False
  40. 如果我把它改為印出 2 in p 的結果
  41. 我們得到值 True
  42. 總結一下 in 運算子的作用
  43. 如果值存在於列表中,輸出是 True
  44. 否則輸出是 False
  45. 類似地,我們可以使用 'not in'
  46. 'not in' 與 'in' 相反
  47. 如果值不存在於列表中,
    < value> not in < list> 的結果是 True
  48. 如果這個值存在於列表中,
    那麼 < value> not in < list> 的結果是 False
  49. < value> not in < list> 的值完全相等於
    not < value> in < list>
  50. 採用 not in 的唯一原因是,在英文中,
    這比把 not 放在值和 in 之間
  51. 讀起來更順一些
  52. 現在檢驗你是否理解 index,in 和 not in 等操作
  53. 我想讓你試著再次定義 find-element 程序
  54. 它跟我們之前的定義功能一模一樣
  55. 如果該元素存在,它會給我們搜尋元素出現的位置
  56. 如果不存在,它會給我們 -1
  57. 但是這次,不使用 while loop 或 for loop 來定義
  58. 看看你是否能夠使用 index 來定義它