写点什么

一行 Python 代码到底有多强大?

用户头像
Jackpop
关注
发布于: 4 小时前

Python 是一门非常简洁而优美的编程语言,在其他编程语言中需要繁琐的代码逻辑才能完成的事情,往往在 Python 中一行就可以解决。


这样,它不仅可以减少开发工作量,还能够大大提升可读性,避免在开发复杂逻辑过程中造成的失误。


本文,就来给大家介绍 10 个一行代码到底有多强大!

1. 交换变量

如果大学学过 C/C++编程课的同学,对于交换变量一定不会陌生,这是最基础,也是非常常用的。


如果用 C/C++实现交换变量,需要这样的操作:


int a, b, c;c = a;a = b;b = c;
复制代码


而在 Python 中,一行代码就可以完成变量的交换。


# a = 1; b = 2a, b = b, a# print(a,b) >> 2 1
复制代码


这样,我们就不需要去额外定义一个临时变量,不仅简单,而且非常直观。

2. 多变量分配

如果你在分配变量时同时包含多种类型的变量,这在很多编程语言中是无法实现的,但是在 Python 中一行代码就可以实现:


a, b, *c = [1,2,3,4,5]# print(a,b,c) >> 1 2 [3, 4, 5]
复制代码


在 Python 中,可以通过符号*把列表元素分配给指定的变量,这也叫unpacking

3. 每隔一个元素求和

如果有这么一个列表[1,2,3,4,5,6],你想每隔一个元素进行求和[2, 4, 6],可以这样使用:


# a = [1,2,3,4,5,6]s = sum(a[1::2])# print(s) >> 12
复制代码


这里,不需要利用复杂的逻辑,只需要合理利用 Python 切片就可以实现,[1::]标识,从第 2 个元素直到列表结束。

4. 删除多个元素

# a = [1,2,3,4,5]del a[::2]# print(a) >> [2, 4]
复制代码


强大的切片语法也可以用于一次删除多个列表元素。

5. 将文件行读入到数组

如果条件或循环语句比较简单的话,可以利用列表达式去简化代码:


c = [line.strip() for line in open('file.txt')]
复制代码

6. 将字符串写入文件

对比于其他编程语言常用的openclose去读写文件,Python 提供的with方法更加简单,而且不用特意去关闭文件:


with open('file.txt', 'a') as f: f.write('hello world')
复制代码

7. 创建清单

可以使用内联 for 循环从其他列表中动态创建列表。您可以直接修改值,例如,下面示例中的字符串连接:


l = [('Hi ' + x) for x in ['Alice', 'Bob', 'Pete']]# print(l) >> ['Hi Alice', 'Hi Bob', 'Hi Pete']
复制代码

8. 列表映射

可以使用 Python 的 map()函数将每个列表元素转换为另一种类型:


l = list(map(int, ['1', '2', '3']))# print(l) >> [1, 2, 3]
复制代码

9. 集合创建

列表达式除了使用简单的for循环语句,还可以结合条件语句一起使用:


squares = { x**2for x in range(6) if x < 4 }# print(squares) >> {0, 1, 4, 9}
复制代码

10. 回文检查

回文检查是笔试题经常会出现的一类问题,简单来说,它就是向前和向后都读取相同的字符,这也难倒了不少应届毕业生,利用 Python,一行代码就可以完成:


# phrase = 'deleveled'isPalindrome = phrase == phrase[::-1]# print(isPalindrome) >> true
复制代码

结语

进阶 Python 过程中,会涉及的编程技巧远不止于此,要想深入并精通 Python,需要我们持续学习,并且不断的总结。


提升编码技能最简单有效的方法可以总结两点:“多看别人代码,多让别人看自己的代码”。


不同人的思路,实现方法不尽相同,看别人代码过程中,可以看到与众不同的编码方式,可以从中汲取一些优点。


多让别人 review 自己的代码,能够不断的鞭策、激励自己改掉编码过程中的不好习惯,错误用法。



干货推荐

为了方便大家,我花费了半个月的时间把这几年来收集的各种技术干货整理到一起,其中内容包括但不限于 Python、机器学习、深度学习、计算机视觉、推荐系统、Linux、工程化、Java,内容多达 5T+,我把各个资源下载链接整理到一个文档内,目录如下:










所有干货送给大家,希望能够点赞支持一下!


http://pan.baidu.com/s/1eks7CUyjbWQ3A7O9cmYljA (提取码:0000)

发布于: 4 小时前阅读数: 4
用户头像

Jackpop

关注

还未添加个人签名 2020.09.16 加入

公众号:平凡而诗意,微信:code_7steps,全网粉丝超20万,技术进阶、优质资源、实用工具,欢迎关注!

评论

发布
暂无评论
一行Python代码到底有多强大?