Python 簡易手冊
單元 19 - in 運算子
in 運算子 (operator) 用來判斷 in 之前的運算元 (operand) 是否為之後運算元的元素 (element) ,例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 建立兩個不同的串列 a = [1, 2, 3, 4] b = [2, 4, 6, 8] # 判斷數字 1 是否在 a 中 print(1 in a) # 判斷數字 1 是否不在 b 中 print(1 not in b) # 檔名: in_demo.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
in 運算子之後的運算元必須是可迭代的 (iterable) ,也就是具有元素的複合資料型態 (compound data type) ,單元 66 - 迭代器會詳細介紹可迭代與迭代器 (iterator) 。
關鍵字 (keyword) for 通常用於處理可迭代物件,因此需要和 in 一起用,單元 23 - for 陳述會詳細介紹 for 的用法。
此例先建立兩個串列 (list) 變數 (variable) a 與 b ,分別指派不同內容,然後先用 in 判斷 1 是否在 a 中,再用 not in 判斷 1 是否不在 b 中,此例執行結果如下
> python in_demo.py |
True True |
> |
串列會在單元 39 - 串列詳細介紹。
如果是字串 (string) 則可以判斷某字串是否為特定字串的子字串 (substring) ,例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 建立字串變數 a = "There is no spoon." # 判斷 "is" 是否在 a 中 print("is" in a) # 判斷 "be" 是否在 a 中 print("be" in a) # 檔名: in_demo2.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
字串會在單元 33 - 字串詳細介紹。
此例先建立一個英文句子字串,然後將兩個英文單字分別判斷是否在這個英文句子中,執行結果如下
> python in_demo2.py |
True False |
> |
最後看到字典 (dictionary) 的例子,字典是判斷是否存在指定的 key
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 建立字典變數 a = {1:10, 2:20} # 判斷 10 是否為 a 的 key print(10 in a) # 判斷 2 是否為 a 的 key print(2 in a) # 檔名: in_demo3.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
字典會在單元 41 - 字典詳細介紹。
此例先判斷 10 是否為 a 的 key ,然後再判斷 2 是否為 a 的 key ,執行結果如下
> python in_demo3.py |
False True |
> |
參考資料
- https://docs.python.org/3/reference/expressions.html#comparisons
- https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range