關鍵字 (keyword) in 用來判斷複合資料型態如串列 (list) 、字串 (string) 等是否包含指定元素,字典 (dictionary) 方面則是判斷是否包括指定的 key 。
例如判斷整數 1 是否在含有整數 1 、 2 、 3 的串列裡,結果回傳 True ,再來判斷字串 "1" 是否在含有整數 1 、 2 、 3 的串列裡,結果回傳 False ,因為字串 "1" 跟整數 1 是不一樣的
a = [1, 2, 3]
print(1 in a)
print("1" in a)
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:in01.py
# 功能:示範 in 運算
# 作者:張凱慶
於命令列執行以上程式,結果如下
$ python3 in01.py |
True |
False |
$ |
判斷字串 "123" 是否包含字串 "23" ,結果回傳 True ,繼續判斷字串 "123" 是否包含整數 23 ,結果直接發生 TypeError ,這是說字串中只能有字串,不能有字串以外例如整數之類的資料型態 (data type)
a = "123"
print("23" in a)
print(23 in a)
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:in02.py
# 功能:示範 in 運算
# 作者:張凱慶
於命令列執行以上程式,結果如下
$ python3 in02.py |
True |
Traceback (most recent call last): |
File "in02.py", line 3, in <module> |
print(23 in a) |
TypeError: 'in <string>' requires string as left operand, not int |
$ |
注意關鍵字用在字典是判斷是否有指定的 key ,假設 key 不存在就會回傳 False
a = {1:2, 3:4}
print(1 in a)
b = {2:1, 4:3}
print(1 in b)
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:in03.py
# 功能:示範 in 運算
# 作者:張凱慶
於命令列執行以上程式,結果如下
$ python3 in03.py |
True |
False |
$ |
in 如果跟 not 連用的話,這用來判斷不存在的情況
a = [1, 2, 3]
print(1 not in a)
print("1" not in a)
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:in04.py
# 功能:示範 in 運算
# 作者:張凱慶
於命令列執行以上程式,結果如下
$ python3 in04.py |
False |
True |
$ |
in 也會跟 for 連用,這就構成了 for-in 迴圈 (loop) ,此時 for 之後的變數會依序取得 in 之後複合資料型態中的每個元素,如此例計算串列中所有元素的總和
sum = 0
for i in [1, 2, 3]:
sum += i
print(sum)
#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:in05.py
# 功能:示範 in 運算
# 作者:張凱慶
於命令列執行以上程式,結果如下
$ python3 in05.py |
6 |
$ |
相關教學影片