python处理变量交换与字符串及判断的小妙招

目录

  • 两变量交换
  • 重复字符串
  • 列表与字符串互相转换
  • 多情况判空
  • 多值一起判断
  • 尾语

两变量交换 语法:
a, b = b, a

IPython测试
In [1]: a = 3In [2]: b = 5In [3]: a, b = b, aIn [4]: aOut[4]: 5In [5]: bOut[5]: 3

免去了利用一个临时变量进行过渡交互。

重复字符串
In [2]: 'love ' * 2Out[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]: sOut[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 = FalseIn [23]: if a:...:print('进不来')...: else:...:print('空值')...:空值In [24]: a = NoneIn [25]: if a:...:print('进不来')...: else:...:print('空值')...:空值In [26]: a = 0In [27]: if a:...:print('进不来')...: else:...:print('空值')...:空值In [28]: a = []In [29]: if a:...:print('进不来')...: else:...:print('空值')...:空值


多值一起判断 同时校验多个参数不是空值或含有空值
In [30]: a = 1In [31]: b = ''In [32]: c = TrueIn [33]: all([a, b, c])Out[33]: FalseIn [34]: any([a, b, c])Out[34]: True

  • all() 是列表中所有元素都不为空为 True,反之只要有一个是 空值 则 False
  • any() 是列表中有一个元素非空即为 True,所有元素为空才 False
  • 注意 空值 有 '', False, None, 0, [],然后就是需要装到一个统一的列表进行 all() , any() 判断
刚好可以验证上面的多情况判空。
In [54]: liOut[54]: [True, True, True, True]In [55]: all(li)Out[55]: TrueIn [56]: any(li)Out[56]: True

all() 验证
# all 只要有一个是空值就FalseIn [62]: all([False, True, True, True])Out[62]: FalseIn [66]: all(['', True, True, True])Out[66]: FalseIn [66]: all([None, True, True, True])Out[66]: FalseIn [66]: all([True, [], True, True])Out[66]: FalseIn [66]: all([True, 0, True, True])Out[66]: False# all 全部非空才 TrueIn [76]: liOut[76]: ['python', 3.14, [1, 2], True]In [77]: all(li)Out[77]: True

any() 验证
# 所有元素为空则 FalseIn [82]: any([False, False, False, False])Out[82]: FalseIn [83]: any([False, '', [], 0, None])Out[83]: False# any 只要有一个非空就为 TrueIn [86]: any([True, '', [], 0, None])Out[86]: TrueIn [87]: any([False, '123', [], 0, None])Out[87]: TrueIn [88]: any([False, '', [1, 2], 0, None])Out[88]: TrueIn [89]: any([False, '', [], 1, None])Out[89]: True


尾语 ? 用 Code 谱写世界,让生活更有趣。??
? 万水千山总是情,点赞再走行不行。??
? 码字不易,还望各位大侠多多支持。??
【python处理变量交换与字符串及判断的小妙招】到此这篇关于python处理变量交换与字符串及判断的小妙招的文章就介绍到这了,更多相关python 变量交换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读