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

 更新时间:2021年09月29日 15:44:52   作者:忆想不到的晖  
本文记录一些 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 谱写世界,让生活更有趣。❤️

✍ 万水千山总是情,点赞再走行不行。❤️

✍ 码字不易,还望各位大侠多多支持。❤️

到此这篇关于python处理变量交换与字符串及判断的小妙招的文章就介绍到这了,更多相关python 变量交换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pandas使用之宽表变窄表的实现

    pandas使用之宽表变窄表的实现

    这篇文章主要介绍了pandas使用之宽表变窄表的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python数据结构与算法中的栈详解(2)

    Python数据结构与算法中的栈详解(2)

    这篇文章主要为大家详细介绍了Python中的栈,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Python动刷新12306火车票的代码(附源码)

    Python动刷新12306火车票的代码(附源码)

    这篇文章主要介绍了Python动刷新12306火车票的完整代码,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-01-01
  • Python机器学习之手写KNN算法预测城市空气质量

    Python机器学习之手写KNN算法预测城市空气质量

    KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中常用算法之一,本文将介绍如何通过KNN算法实现城市空气质量的预测,感兴趣的同学可以了解一下
    2021-12-12
  • python实现名片管理系统

    python实现名片管理系统

    这篇文章主要为大家详细介绍了python实现名片管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python的地形三维可视化Matplotlib和gdal使用实例

    Python的地形三维可视化Matplotlib和gdal使用实例

    这篇文章主要介绍了Python的地形三维可视化Matplotlib和gdal使用实例,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • python 垃圾收集机制的实例详解

    python 垃圾收集机制的实例详解

    这篇文章主要介绍了 python 垃圾收集机制的实例详解的相关资料,希望通过本文能帮助大家理解这部分内容,需要的朋友可以参考下
    2017-08-08
  • Python从入门到精通之类的使用详解

    Python从入门到精通之类的使用详解

    Python是一种功能强大且广泛使用的编程语言,它支持面向对象编程(OOP),本文将介绍Python中类的使用,包括类的创建、属性和方法的定义、继承和多态等关键技术点,希望对大家有所帮助
    2023-07-07
  • 在Python程序中操作文件之isatty()方法的使用教程

    在Python程序中操作文件之isatty()方法的使用教程

    这篇文章主要介绍了在Python程序中操作文件之isatty()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python函数的嵌套详解

    Python函数的嵌套详解

    这篇文章主要为大家介绍了Python函数的嵌套,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01

最新评论