Chinese, Traditional subtitles

← 03-42 Index

dummy description

Get Embed Code
5 Languages

Showing Revision 1 created 11/25/2012 by Shalley Tsay.

  1. 定義 find_element 還有很多其他方法
  2. 下面我將展示一種方法,
    這種方法利用另一個內建的列表操作
  3. 這個操作還未介紹過,但是它大幅簡化了 find_element
  4. 這個操作叫做 index
  5. index 方法用於列表
  6. 你傳入一個值,index 的輸出是那個值位於列表的位置
  7. 所以這個內建 index 幾乎完全按照我們的需求解決了 find_element
  8. 不同之處在於,當我們在列表上呼叫 index
  9. 如果這個列表不包含我們傳入的值
    index 不會傳回 -1,而是顯示錯誤訊息
  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,而是顯示錯誤訊息
  19. 我們要找的目標元素在列表中不存在
  20. 所以,如果我們想讓 find_element 完全按照要求
  21. 我們就不能直接使用 index
  22. 還有其他一些列表操作,可能很有幫助
  23. 總結一下 index 方法的作用
  24. 如果傳入的值存在於列表中,它傳回這個值出現的第一個位置
  25. 這正是我們希望 find_element 做的事
  26. 問題在於,如果這個值在列表中找不到,就會產生錯誤訊息
  27. 還有一個列表操作可以幫助我們使用 index 來寫 find_element
  28. 這種方法也對其他很多事情有幫助,那就是字組 in
  29. 我們已經見過 in 被使用在 for loop 中
  30. 我們在這裡使用同一個字組 in,
    但是根據上下文,這裡的意義有所不同
  31. 這個語法是在 in 的左邊放一個值,in 後面跟著一個列表
  32. 這個語法與我們之前見到的 Python 語言相比有些奇怪
  33. 它看起來不像一個程序呼叫,
    但是用英文對這個內容進行表達時
  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. 如果值不存在於列表中, not in 的結果為 True
  48. 如果這個值存在於列表中,那麼 not in 的結果為 False
  49. not in 完全等同於 not in
  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 來定義它