本文記錄一些
Python日常編程中的小妙招,并使用IPython進行互動測驗,讓我們更好的了解和學習Python的一些特性,
兩變數交換
語法:
a, b = b, a
IPython測驗
In [1]: a = 3
In [2]: b = 5
In [3]: a, b = b, a
In [4]: a
Out[4]: 5
In [5]: b
Out[5]: 3
免去了利用一個臨時變數進行過渡互動,
重復字串
In [2]: 'love ' * 2
Out[2]: 'love love '
In [7]: for i in range(1, 10):
...: print('*' * i)
...:
*
**
***
****
*****
******
*******
********
*********
串列與字串互相轉換
假如有一個串列內容為
['n', 'i', 'c', 'e'],然后設法變成 字串nice字串
0123456789轉成串列[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
語法:
''.join(['p', 'y', 't', 'h', 'o', 'n'])
IPython測驗
In [6]: li = ['p', 'y', 't', 'h', 'o', 'n']
In [7]: ''.join(li)
Out[7]: 'python'
# 字串轉串列
In [11]: s = '0123456789'
In [12]: s = list(s)
In [13]: s
Out[13]: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
相對 for 回圈進行拼接是不是簡潔有效,字串可以直接轉串列,相互轉換看看各自的 api 能不能排上用場,
多情況判空
假如一個變數可能是
'', False, None, 0, [],但都認為這樣是 空 該如何判空呢 ?
語法:
a = ''
if a:
print('進不來')
else:
print('空值')
IPython測驗
In [20]: a = ''
In [21]: if a:
...: print('進不來')
...: else:
...: print('空值')
...:
空值
In [22]: a = False
In [23]: if a:
...: print('進不來')
...: else:
...: print('空值')
...:
空值
In [24]: a = None
In [25]: if a:
...: print('進不來')
...: else:
...: print('空值')
...:
空值
In [26]: a = 0
In [27]: if a:
...: print('進不來')
...: else:
...: print('空值')
...:
空值
In [28]: a = []
In [29]: if a:
...: print('進不來')
...: else:
...: print('空值')
...:
空值
多值一起判斷
同時校驗多個引數不是空值或含有空值
In [30]: a = 1
In [31]: b = ''
In [32]: c = True
In [33]: all([a, b, c])
Out[33]: False
In [34]: any([a, b, c])
Out[34]: True
- all() 是串列中所有元素都不為空為
True,反之只要有一個是 空值 則False - any() 是串列中有一個元素非空即為
True,所有元素為空才False - 注意 空值 有
'', False, None, 0, [],然后就是需要裝到一個統一的串列進行all(),any()判斷
剛好可以驗證上面的多情況判空,
In [54]: li
Out[54]: [True, True, True, True]
In [55]: all(li)
Out[55]: True
In [56]: any(li)
Out[56]: True
all() 驗證
# all 只要有一個是空值就False
In [62]: all([False, True, True, True])
Out[62]: False
In [66]: all(['', True, True, True])
Out[66]: False
In [66]: all([None, True, True, True])
Out[66]: False
In [66]: all([True, [], True, True])
Out[66]: False
In [66]: all([True, 0, True, True])
Out[66]: False
# all 全部非空才 True
In [76]: li
Out[76]: ['python', 3.14, [1, 2], True]
In [77]: all(li)
Out[77]: True
any() 驗證
# 所有元素為空則 False
In [82]: any([False, False, False, False])
Out[82]: False
In [83]: any([False, '', [], 0, None])
Out[83]: False
# any 只要有一個非空就為 True
In [86]: any([True, '', [], 0, None])
Out[86]: True
In [87]: any([False, '123', [], 0, None])
Out[87]: True
In [88]: any([False, '', [1, 2], 0, None])
Out[88]: True
In [89]: any([False, '', [], 1, None])
Out[89]: True
尾語
? 用 Code 譜寫世界,讓生活更有趣,??
? 萬水千山總是情,點贊再走行不行,??
? 碼字不易,還望各位大俠多多支持,??
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/303887.html
標籤:python
