本文记录一些 Python 日常编程中的小妙招,并使用 IPython 进行交互测试,让我们更好的了解和学习 Python 的一些特性。

两变量交换

语法:

a, b = b, a

IPython测试

In [1]: a = 3In [2]: b = 5In [3]: a, b = b, aIn [4]: a
Out[4]: 5In [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 = 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]: li
Out[54]: [True, True, True, True]In [55]: all(li)
Out[55]: TrueIn [56]: any(li)
Out[56]: True

all() 验证


# all 只要有一个是空值就False
In [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]: 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]: FalseIn [83]: any([False, '', [], 0, None])
Out[83]: False# any 只要有一个非空就为 True
In [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 常用小妙招(一)相关推荐

  1. 基线_Origin入门教程(九):扣除基线常用小妙招

    一般情况下,由于测试仪器的影响,检测数据所示曲线图的基线不平,这对数据分析有着一定的影响.下面介绍几种将基线优化处于同一水平位置的方法,以便于之后对数据进行拟合分析. 一.已知基线直接扣除法 第一种方 ...

  2. 在python中strip_Python中关于strip使用方法的小妙招

    本篇文章给大家分享的内容是Python中关于strip使用方法的小妙招,有着一定的参考价值,有需要的朋友可以参考一下 [开胃小菜] 当提到python中strip方法,想必凡接触过python的同行都 ...

  3. method=post 怎么让查看源代码看不到_网站文档不能复制怎么办?教你3个小妙招,1分钟轻松化解...

    不知道大家平常在查找资料时,碰到网页资料不能下载时,是怎么样进行处理的.那么笔者今天就来分享我查找不能复制文档时,所用的3个小妙招,帮助轻松化解,一起来看看吧. 1.保存网页 当我们遇到一个不能直接复 ...

  4. 计算机开机慢怎么办,笔记本电脑开机很慢怎么办?五个小妙招来帮忙!

    原标题:笔记本电脑开机很慢怎么办?五个小妙招来帮忙! 在我们每次打开笔记本电脑时,有时开机速度很莫名其妙的慢,你是不是就会觉得很纳闷,但有时笔记本电脑开机的时间只需要2-3分钟,这就说明你的笔记本很久 ...

  5. 意想不到的前端三个小妙招

    大厂面试题分享 面试题库 前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 整理下本人在工作中撸代码遇到的一些刚看时一脸懵逼,实则很简单就能解决的小妙招,希望对大家有所帮助哟~ 伪元素 ...

  6. 如何给视频配上字幕?教你几种视频配字幕小妙招

    如何给视频配上字幕呢?有些观众可能会因为口音.语速或听力问题而难以听懂视频中的内容,此时添加字幕能够帮助观众更好地理解视频内容.此外,对于非母语人士来说,字幕也可以帮助他们更好地理解视频内容,提高观看 ...

  7. 提高微信公众号推文阅读数小妙招

    考核微信小编KPI主要指标之一就是公众号推文阅读数.但现在实际情况是,运营一个公众号不是那么轻松,公众号推文阅读数也是寥寥无几.这里我们小编告诉你一个小秘密,提高微信公众号推文阅读数小妙招就用来逗编辑 ...

  8. 两个小妙招快速教会大家如何合并多个PDF到一个PDF!

    由于PDF文件的特殊性,我们无法直接对其进行复制黏贴合并到一起,因为采用这种方式可能会导致乱码或排版错乱.但其实要将PDF文件合并也并不难,只要借助一些工具即可轻松实现合并文件操作. 你们是否想知道如 ...

  9. PDF大文件批量去除水印,又一个省心小妙招

    PDF大文件批量去除水印,又一个省心小妙招 导入 在阅读过程中如果遇到一些带有水印的资料是比较烦心的,如下图所示,水印以及类似的内容会影响我们的阅读体验,而市面上去水印的功能有多要收费且很不方便,那么 ...

最新文章

  1. Grid R-CNN解读:商汤最新目标检测算法,定位精度超越Faster R-CNN
  2. 3大主流前端框架对比
  3. JPA在MySQL中自动建表
  4. Pandas数据结构简介
  5. 鸟哥基础-读书笔记一
  6. SOTA集结,2020登顶关系抽取的3篇佳作
  7. vue3 main.js引入 axios_Vue3.0新特性探索
  8. Windows8 RP版亲手体验全过程
  9. 74HC595原理图”中“ RCLK SRCLK SRCLR”是什么意思
  10. pycharm远程连接服务器,同步代码,使用GPU
  11. 封头名义厚度如何圆整_封头规格
  12. java.lang.OutOfMemoryError: Java heap space
  13. 【移动机器人导航架构】navigation(mose_base)
  14. 给FLASH加链接的方法
  15. 推荐系统:最大边缘相关多样性算法(MMR)(python实现)
  16. Tanner Pro集成电路设计与布局实战指导
  17. 电气CAD制图软件中如何进行开关连接?
  18. 交流充电桩电路图_交流充电桩原理
  19. Leetcode-Longest Turbulent Subarray
  20. 安徽省计算机二级考试vfp试题,安徽省计算机二级VFP考试理论模拟试题2(附答案)!!!!!!!!..doc...

热门文章

  1. 图像处理基础操作二(边缘检测、轮廓检测、光流估计)
  2. 移动端适配问题解决方案
  3. 感谢恩师,感谢有你!
  4. 如何运行 Python 程序?
  5. 域更改目录服务器状态 不可用,active directory域服务当前不可用怎么解决
  6. 安卓小菜鸟重拾Java系列002.Java转义字符与与sax解析xml
  7. 通过行为参数化传递代码
  8. html onfoucs状态事件,HTML Dom Event对象onfocus事件
  9. 转载:OpenGL显示文字
  10. 操作系统学习(一):浅析操作系统进程调度算法