一,運算符in
in這個詞在字符串操作中是一個布爾操作符,它讀取兩個字符串,如果前者的字符串為后者所包含,就返回真,否則為假,看例子:
>>> 'a' in 'banana'
True
>>> 'app' in 'banana'
False
定義一個函數,顯示所有同時在 word1和 word2當中出現的字母:
$ cat b.py
#!/bin/python
def in_both(word1, word2):
for letter in word1:
if letter in word2:
print(letter)
return 'over' #可以不定義返回參數
print (in_both('orange', 'apples'))
$ python3 b.py
a
e
None #默認返回None,其他時候看不到是因為沒有print,如果出現print並且沒有設置return的參數,就會打印出來None。
二,字符串的比較
關系運算符對於字符串來說也可用。比如可以看看兩個字符串是不是相等:
$ cat c.py
#!/bin/python
word = 'banana'
if word == 'banana':
print('all ringt, bananas')
$ python3 c.py
all ringt, bananas
其他的關系運算符> <可以按照ASCII值的大小來比較字符串的大小:
$ cat c.py
word = 'jack' #定義word為jack
if word < 'banana':
print('your word, ' + word + ', comes before banana.')
elif word > 'banana':
print('Your word, ' + word + ', comes after banana.')
else:
print('All right, bananas.')
$ python3 c.py
Your word, jack, comes after banana.
$ cat c.py
#!/bin/python
word = 'app' #定義word為app
if word < 'banana':
print('your word, ' + word + ', comes before banana.')
elif word > 'banana':
print('Your word, ' + word + ', comes after banana.')
else:
print('All right, bananas.')
$ python3 c.py
your word, app, comes before banana.
ASCII碼順序的比較規則是,從第一個字符開始,順次向后直到出現不同的字符為止,然后以第一個不同的字符的ASCII值確定。
例如上面的"jack"和"banana",第一個字母就不相同,j的ASCII值比b的ASCII值大,所以這二個字符串的比較結果是"jack" > "banana"。所以打印Your word, jack, comes after banana.
"app"與"banana"比較,a的ASCII值比b的ASCII值大,所以字符串"app" > "banana"。所以打印your word, app, comes before banana.
結束。