虽然python是一个易入门的语言,但是很多人依然还是会问到底怎么样学 Python 才最快,答案当然是实战各种小项目,只有自己去想与写,才记得住规则。本文写的是 10 个极简任务,初学者可以尝试着自己实现;本文同样也是 10段代码,Python 开发者也可以看看是不是有没想到的用法。

  1、重复元素判定

  以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。  

def all_unique(lst): return len(lst)== len(set(lst)) x = [1,1,2,2,3,2,3,4,5,6] y = [1,2,3,4,5] all_unique(x) # False all_unique(y) # True 

  2、分块

  给定具体的大小,定义一个函数以按照这个大小切割列表。 

 from math import ceil def chunk(lst, size): return list( map(lambda x: lst[x * size:x * size + size], list(range(0, ceil(len(lst) / size))))) chunk([1,2,3,4,5],2) # [[1,2],[3,4],5] 

  3、压缩

  这个方法可以将布尔型的值去掉,例如(False,None,0,“”),它使用 filter() 函数。 

 def compact(lst): return list(filter(bool, lst)) compact([0, 1, False, 2, '', 3, 'a', 's', 34]) # [ 1, 2, 3, 'a', 's', 34 ] 

  4、 使用枚举

  我们常用 For 循环来遍历某个列表,同样我们也能枚举列表的索引与值。 

 list = ["a", "b", "c", "d"] for index, element in enumerate(list):  print("Value", element, "Index ", index, ) # ('Value', 'a', 'Index ', 0) # ('Value', 'b', 'Index ', 1) #('Value', 'c', 'Index ', 2) # ('Value', 'd', 'Index ', 3) 

  5、解包

  如下代码段可以将打包好的成对列表解开成两组不同的元组。 

 array = [['a', 'b'], ['c', 'd'], ['e', 'f']] transposed = zip(*array) print(transposed) # [('a', 'c', 'e'), ('b', 'd', 'f')] 

  6、展开列表

  该方法将通过递归的方式将列表的嵌套展开为单个列表。 

 def spread(arg): ret = [] for i in arg: if isinstance(i, list): ret.extend(i) else: ret.append(i) return ret def deep_flatten(lst): result = [] result.extend( spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst)))) return result deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5] 

  7、 列表的差

  该方法将返回第一个列表的元素,且不在第二个列表内。如果同时要反馈第二个列表独有的元素,还需要加一句 set_b.difference(set_a)。

  def difference(a, b): set_a = set(a) set_b = set(b) comparison = set_a.difference(set_b) return list(comparison) difference([1,2,3], [1,2,4]) # [3] 

  8、 执行时间

  如下代码块可以用来计算执行特定代码所花费的时间。  

import time start_time = time.time() a = 1 b = 2 c = a + b print(c) #3 end_time = time.time() total_time = end_time - start_time print("Time: ", total_time) # ('Time: ', 1.1205673217773438e-05)  

  9、 Shuffle

  该算法会打乱列表元素的顺序,它主要会通过 Fisher-Yates 算法对新列表进行排序:  

from copy import deepcopy from random import randint def shuffle(lst): temp_lst = deepcopy(lst) m = len(temp_lst) while (m): m -= 1 i = randint(0, m) temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m] return temp_lst foo = [1,2,3] shuffle(foo) # [2,3,1] , foo = [1,2,3] 

  10、 交换值

  不需要额外的操作就能交换两个变量的值。 

 def swap(a, b): return b, a a, b = -1, 14 swap(a, b) # (14, -1) spread([1,2,3,[4,5,6],[7],8,9]) # [1,2,3,4,5,6,7,8,9] 

  以上,是我简单列举的十个python极简代码,拿走即用,希望对你有所帮助!

十个超级简单的Python代码,拿走即用相关推荐

  1. python在线朗读-简单的python代码实现语音朗读

    简单的python代码实现语音朗读 昨天女友生日,因为她一直对生日无感,所以我也就没有准备什么礼物.想起元旦前写的自动测试的脚本,添加了语音来提示测试和报告错误.灵机一动,为什么不用这个语音来庆祝她生 ...

  2. 20分钟,我用简单的Python代码创建了一个完整的区块链!想学吗?

    作者 | Gerald Nash 编译 | 科科.kou.木星 这是篇技术文,我们会用Python一步步搭建一个完整的区块链.不过,在此之前,咱们还是先说说你什么你该学习如何从零搭建一个区块链. 有人 ...

  3. 一段简单的python代码_Python趣味打怪:60秒学会一个例子,147段简单代码助你从入门到大师 | 中文资源...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 人生苦短,编程苦手,不妨学起Python,感受一飞冲天的快乐. 不要害怕学习的过程枯燥无味,这里有程序员jackzhenguo打造的一份中文 ...

  4. Python爬虫入门教程:超级简单的Python爬虫教程

    这是一篇详细介绍 [Python]爬虫入门的教程,从实战出发,适合初学者.读者只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫. 这篇 Python 爬 ...

  5. 使用在线软件合并pdf论文文件安全吗?不妨使用简单的python代码

    执行代码之前,使用下面命令安装pypdf2的python库 pip install pypdf2 python代码: import PyPDF2 pdf1File = open('PDFFile1.p ...

  6. python画图简单代码-简单画图 - python代码库 - 云代码

    [python]代码库#使用turtle库绘制图形 #画出 NUESOFT #导入turtle库 使用import + 模块名 as 相当于起一个别名 import turtle as t #设置画布 ...

  7. 用来表示python代码块的是什么_三分钟带你用简单的Python代码深入理解Python中的元类...

    互联网的数据爆炸式的增长,而利用 Python 爬虫我们可以获取大量有价值的数据 类也是对象 在理解元类前,需要先掌握Python中的类.在大多数编程语言中,类就是一组描述如何生成对象的代码段.在Py ...

  8. 超级简单的Python爬虫教程,python爬虫菜鸟教程官网

    毫无基础的人如何入门 Python ? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编 ...

  9. python爬虫入门教程(非常详细),超级简单的Python爬虫教程

    一.基础入门 1.1什么是爬虫 爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序. 从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HT ...

  10. 杨辉三角形(超级简单的Python实现方法)

    杨辉三角形大家都知道,那么在这里就不再介绍了,大家肯定都用C/C++实现过杨辉三角形,是把数据存放在了一个二维数组里,那么如何让用Python来实现杨辉三角形呢? 我查看了网上的很多方法,都很麻烦,有 ...

最新文章

  1. R语言ggplot2可视化在箱图上添加分组样本个数
  2. 【jQuery源码】整体架构
  3. 模糊数学笔记:二、模糊截集与分解定理
  4. c语言怎么判断是不是标识符,C语言判断输入是否为C语言标识符(示例代码)
  5. 十、eclipse快捷键大全
  6. Angular 6+ 之新版service
  7. mysql多个分类取n条_MySQL获取所有分类和每个分类的前N条记录
  8. PyTorch 1.0 中文官方教程:混合前端的 seq2seq 模型部署
  9. 软件需求工程 高校教学平台 项目总体计划
  10. java如何对一个表达式开根号_Java中,如何对大数开根号啊!
  11. 2020电脑服务器cpu性能天梯图,CPU性能天梯图[202002版]
  12. 树莓派之安装Vulkan
  13. 解决WINDOWS邮箱无法收取QQ邮件
  14. FPGA数字时钟(可暂停调数,含代码)
  15. Linux文件系统以及目录结构简介
  16. ubuntu 20.04 | 设置开机启动脚本
  17. RISC-V双周报1.12-1.26
  18. html2canvas微信头像后,微信小程序使用canvas在真机上不显示用户头像问题(不显示网络图片)...
  19. JavaScript(the second day)
  20. se(3)-TrackNet: Data-driven 6D Pose Tracking by Calibrating Image Residuals in Synthetic Domains

热门文章

  1. linux 安装pyaudio
  2. java设置本机地址写在哪个类_JAVA获取指定的类型的本机MAC地址
  3. CentOS-7 安装mosquitto(MQTT的开源消息代理)
  4. python3数据库同步_Python同步Mysql不同数据库的表
  5. 全国计算机网络考试和答案,全国计算机三级《网络技术》复习题及答案2017
  6. 线性代数及其应用(第三版)1.4节习题解答
  7. sql-labs超详细教程
  8. sqlserver安装目录_SQL 2008R2安装教程
  9. MAC OS X 技术内幕 学习笔记之一 MAC OS的变迁
  10. 离散数学1 命题逻辑-基本的概念