Python元组常用操作小技巧所以这篇文章python函数小技巧,python函数小技巧我们先来回顾和总结Python数据结构里常用操作 。Python中常见的数据结构可以统称为容器(container) 。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器 。而扁平序列如str、bytes、bytearray、memoryview 和 array.array等不在这篇文章的讨论范围内 。
在此 , 我们先从元组开始说起 。
元组区别于列表的显著特征之一就是它不能被修改,但其另外一个作用就是用于没有字段名的记录[1]。因为后者经常被忽略,我们先来看看元组作为记录的作用 。
使用括号就可以定义一个元组 。元组中的每个元素都存放了记录中一个字段的数据,外加这个字段的位置 。正是这个位置信息给数据赋予了意义 。下面的例子中,元组就被当作记录加以利用python函数小技巧:
输出为python函数小技巧:
上述for循环中的操作提取了元组中的元素,也叫作拆包(unpacking) 。平行赋值是对元组拆包很好的应用,示例如下:
还有一个经典而优雅的应用是交换变量的值:
用* 运算符把一个可迭代对象拆开作为函数的参数,例如Python的内置函数pmod接收两个数字类型的参数,返回商和余数 。以下范例将使用 * 将元组传入函数 。
输出为:
有些函数有多个返回值,将其赋给一个变量时,变量类型即是元组:
输出为:
zip是Python的内置函数,能够接收两个或多个序列,并组成一个元组列表,在Python3中会返回一个迭代器 , 如下所示:
输出为:
元组当然也支持一些常规操作,如对于元组a = (1, 'y', 5, 5, 'x') :
上述内容不仅涵盖了元组的基本操作,同时也结合了实际工作中常搭配使用的其他函数、运算符等 。在回顾这些知识时主要参考了两本经典的Python编程书籍:《流畅的Python》和《像计算机科学家一样思考Python》,有兴趣的朋友可以深入阅读!
希望这篇文章对你有帮助,下回将总结Python列表的使用技巧 。
[1]《流畅的Python》:
提升Python运行速度的5个小技巧pre{overflow-x: auto}
Python 是世界上使用最广泛的编程语言之一 。它是一种解释型高级通用编程语言,具有广泛的用途,几乎可以将其用于所有事物 。其以简单的语法、优雅的代码和丰富的第三方库而闻名 。python除了有很多优点外,但在速度上还有一个非常大的缺点 。
虽然Python代码运行缓慢,但可以通过下面分享的5个小技巧提升Python运行速度!
首先 , 定义一个计时函数timeshow,通过简单的装饰 , 可以打印指定函数的运行时间 。
这个函数在下面的例子中会被多次使用 。
def timeshow(func):from time import timedef newfunc(*arg, **kw):t1 = time()res = func(*arg, **kw)t2 = time()print(f"{func.__name__: 10} : {t2-t1:.6f} sec")return resreturn newfunc@timeshowdef test_it():print("hello pytip")test_it()1. 选择合适的数据结构
使用正确的数据结构对python脚本的运行时间有显着影响 。Python 有四种内置的数据结构:
列表 :List
元组 :Tuple
集合 :Set
字典 :Dictionary
但是,大多数开发人员在所有情况下都使用列表 。这是不正确的做法,应该根据任务使用合适数据结构 。
运行下面的代码,可以看到元组执行简单检索操作的速度比列表快 。其中dis模块反汇编了一个函数的字节码 , 这有利于查看列表和元组之间的区别 。
import disdef a():data = https://www.04ip.com/post/[1, 2, 3, 4, 5,6,7,8,9,10]x =data[5]return xdef b():data = (1, 2, 3, 4, 5,6,7,8,9,10)x =data[5]return xprint("-----:使用列表的机器码:------")dis.dis(a)print("-----:使用元组的机器码:------")dis.dis(b)
推荐阅读
- js调用函数只有前面那个有效,js调用函数的几种方法
- ie8下载,ie8下载文件在哪
- asp.net里弹出消息框,net 弹出对话框
- 关闭手机屏幕qq怎么也关闭了,关闭手机屏幕怎么也关闭了呢
- linux命令图形化 linux 设置图形化启动
- pg数据库的copy,pg数据库的游标循环
- ios软件迅雷,ios迅雷app
- go语言开源技巧 go语言 开源项目
- 路由器器怎么改路由器名字,路由器改4g插卡路由器