盘点10个一行强大的、有趣的Python源代码

python是一门非常简洁而优美的编程语言,在其他编程语言中需要繁琐的代码逻辑才能完成的事情,往往在python中一行就可以解决。
这样,它不仅可以减少开发工作量,还能够大大提升可读性,避免在开发复杂逻辑过程中造成的失误。
本文,就来给大家介绍10个一行代码到底有多强大!
1. 交换变量
如果大学学过c/c++编程课的同学,对于交换变量一定不会陌生,这是最基础,也是非常常用的。
如果用c/c++实现交换变量,需要这样的操作:
int a, b, c;
c = a;
a = b;
b = c;
而在python中,一行代码就可以完成变量的交换。
# a = 1;b = 2
a, 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. 将字符串写入文件
对比于其他编程语言常用的open、close去读写文件,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自己的代码,能够不断的鞭策、激励自己改掉编码过程中的不好习惯,错误用法。
责编ajx

明德扬K7核心板试用体验-第一篇
华为发布首款5G商用芯片 成为全球首个具备5G芯片-终端-网络能力
CadSoft推出EAGLE PCB设计工具版本 6.0
为何华为不出售麒麟960?这就是原因!
中国联通官方宣布,贵州省的首个联通5G基站在贵阳市开通,峰值速率达到了1.8Gbps
盘点10个一行强大的、有趣的Python源代码
人工长晶工艺
升压型DC-DC的工作路径和工作原理
通过GPIO模拟IIC通信对接SHT20温湿度计
特斯拉带动新能源汽车市场回温 国产半导体厂商发展空间广阔
5G技术在医疗急救领域的应用情况介绍
国内活跃互联网域名数量持续增长,ISP和IDC业务是主要访问方式
越用越顺手的魅族,原因全在魅族flyme6的OneMind人工智能引擎上
字节跳动宣布加入专利巨魔保护组织
云天励飞AI防疫方案助力提升疫情防控效率
推拉力试验机有哪些测试标准?
石墨烯构造高柔性“电子皮肤”即将问世
工业4.0下的大数据:5G和分布式存储
联发科MTK 4G核心板 XY6785 对比 XY8788 性能强出两倍多?两者有何区别?
人脸识别平台应用范围及产品优势