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 譜寫世界,讓生活更有趣。❤️

✍ 萬水千山總是情,點贊再走行不行。❤️

✍ 碼字不易,還望各位大俠多多支持。❤️

到此這篇關於python處理變量交換與字符串及判斷的小妙招的文章就介紹到這瞭,更多相關python 變量交換內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: