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

打开APP精彩内容

点击阅读全文

python有趣的代码-盘点10个一行强大的、有趣的Python源代码相关推荐

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

    Python是一门非常简洁而优美的编程语言,在其他编程语言中需要繁琐的代码逻辑才能完成的事情,往往在Python中一行就可以解决. 这样,它不仅可以减少开发工作量,还能够大大提升可读性,避免在开发复杂 ...

  2. merge规则 python_30个Python极简代码,10分钟get常用技巧

    学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则.本文是 30 个极简任务,初学者可以尝试着自己实现:本文同样也是 30 段代码,Python 开发者也可以看看是不是 ...

  3. 30个Python极简代码,10分钟get常用技巧!

    学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则.本文是 30 个极简任务,初学者可以尝试着自己实现:本文同样也是 30 段代码,Python 开发者也可以看看是不是 ...

  4. 电脑技巧:盘点10个非常实用且有趣的网站

    目录 1.聆听大海的声音 2.在线生成Logo 3.今日热榜 4.十万个为什么(大人版) 5.视频创作导航 6.改图鸭 7.好看电影推荐 8.童年游戏合集 9.各种沙雕表情包 10.反向词典 今天给大 ...

  5. python必备入门代码-初学必备:1分钟带你认识Python的代码(上)

    在上篇文章,给小伙伴介绍了Anaconda和VS Code这两大神器[戳此查看:学习Python比不可少的两种神器],相信大家已经安装好,跃跃欲试准备写代码了吧~ 这里,我将通过几行代码向大家展示Py ...

  6. python新手入门代码-新手必看:手把手教你入门 Python

    原标题:新手必看:手把手教你入门 Python 本文为 AI 研习社编译的技术博客,原标题 : Learning Python: From Zero to Hero 翻译 |永恒如新的日常校对 | 酱 ...

  7. python有趣的代码-趣味至上主义:这5个有趣的Python库带你花式编码

    本文转载自公众号"读芯术"(ID:AI_Discovery) Python是如今最流行的编程语言之一,这点也给它本身带来很多好处,其中之一就是,为了方便进行程序开发,它拥有了大量优 ...

  8. Python怼人代码,让编程变得更有趣

    准备工作: pip3 install pyperclip pip3 install pyautogui from tkinter import * import time from pyperclip ...

  9. python名片制作代码_教你做一张能运行 Python 的名片,成本只要20元!

    原标题:教你做一张能运行 Python 的名片,成本只要20元! 作为一名普普通通的开发者,改变世界估计是办不到了,但可以让世界更 Geek 一些. 极客名片的诞生 如标题所说,表面上看这是一个名片, ...

最新文章

  1. 这款AI耳机可以主宰你的情绪,决定让你是哭还是笑
  2. 查看oracle所有实例_Oracle目录结构与系统用户-数据库(3)
  3. Django源代码写DetailView与ListView
  4. matlab图像去毛刺_警微圈 图像处理第三讲CLAHE
  5. hive变量传递的源码实现
  6. 低功耗STM32L151+RTC唤醒应用总结
  7. Excel的复合条饼图制作
  8. Python面向对象案例之语音计算器
  9. java的副语言_公共表达中,悄悄影响你的“副语言”
  10. mysql 小于号转义_mybatis sql语句配置大于号小于号的处理
  11. 百度云-图像处理-动漫人物
  12. 大数据开发面试准备——计算机网络
  13. 独立性与互不相容的区别
  14. 为什么HashTable不能存null键和null值,而HashMap却可以?
  15. 计算机激光鼠标,差评终结者:激光鼠标就是比光电的好?
  16. littlevgl教程 Linux,[笔记]在嵌入式linux上运行LittlevGL GUI demo 支持tslib
  17. Docker系列(1-简介篇) -- 为什么要使用docker?
  18. 服装行业拼的是实力——智能制造
  19. 基于RNN的短期股票预测
  20. Linux下的截图工具 —— Flameshot

热门文章

  1. TensorFlow安装教程(Windows/Linux两种版本)
  2. 数据挖掘:模型选择——线性回归
  3. 通俗易懂的机器学习入门
  4. Mysql Cluster集群实现高可用
  5. DB2数据库关于delete in id和batch delete的性能对比
  6. 神spfa [Noi2014]魔法森林
  7. html 常用button事件
  8. win8平板App-文件上传
  9. Bailian4144 畜栏保留问题【贪心】
  10. HDU2109 Fighting for HDU【排序】