Python序列类型的打包和解包实例

打包

如给出一系列由逗号分隔的表达式,他们将被视为一个单独元组,即使没有提供封闭的圆括号

如:

numbers = 1, 2, 3, 4

使numbers被赋值元组(1, 2, 3, 4)

return a, b

返回元组(a, b)

解包

Python可以自动解包一个序列,润许单个标识符的一系列元素赋值给序列中的各个元素,如:

a, b, c, d = range(1,5)

a = 1, b = 2, c = 3, d = 4

quotient, remainder = divmod(a, b)

quotient = a // b, remainder = a % b

for x, y in[(1, 2), (3, 4), (5, 6)]:
for key, value in dict.items():

同时分配

同时分配为打包和解包的结合,如:

x, y, z = 1, 2, 3
a, b = b, a
def fibonacci():
 a, b = 0, 1
 while True:
 yield a
 a, b = b, a+b

以上这篇Python序列类型的打包和解包实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解python解压压缩包的五种方法

    这里讨论使用Python解压例如以下五种压缩文件: .gz .tar  .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. tar: linux系统下的打包工具.仅仅打包.不压缩 tgz:即tar.gz.先用tar打包,然后再用gz压缩得到的文件 zip: 不同于gzip.尽管使用相似的算法,能够打包压缩多个文件.只是分别压缩文件.压缩率低于tar. rar:打包压缩文件.最初用于DOS,基于window操作系统. 压缩

  • 对Python3 序列解包详解

    Python 中有很多很实用的语法糖,这些语法糖可以帮助我们简化代码.更易理解等优点,接下里再看一个 Python3 中特别实用的语法序列解包(序列解包是 Python 3.0 之后才有的语法). 那什么是序列解包呢?先看一个例子: >>> a, b, c = 1, 2, 3 >>> a 1 >>> b 2 >>> c 3 >>> 这种方法并不限于列表和元组,而是适用于任意序列类型(甚至包括字符串和字节序列).只要赋

  • Python序列类型的打包和解包实例

    打包 如给出一系列由逗号分隔的表达式,他们将被视为一个单独元组,即使没有提供封闭的圆括号 如: numbers = 1, 2, 3, 4 使numbers被赋值元组(1, 2, 3, 4) return a, b 返回元组(a, b) 解包 Python可以自动解包一个序列,润许单个标识符的一系列元素赋值给序列中的各个元素,如: a, b, c, d = range(1,5) a = 1, b = 2, c = 3, d = 4 quotient, remainder = divmod(a, b

  • Python 变量教程之打包和解包参数

    目录 背景 解 Packing 打包和拆包 用于字典 前言: 我们使用两个运算符 *(用于元组)和 **(用于字典). 背景 考虑这样一种情况,我们有一个接收四个参数的函数.我们想调用这个函数,我们有一个大小为 4 的列表,其中包含函数的所有参数.如果我们只是将一个列表传递给函数,则调用不起作用. # 一个演示打包和解包需求的 Python 程序 # 一个接受 4 个参数并打印它们的示例函数. def fun(a, b, c, d): print(a, b, c, d) # 驱动程序代码 my_

  • python元组打包和解包过程详解

    1.在将多个以逗号分隔的值赋给一个变量时,多个值被打包成一个元组类型.当我们将一个元组赋给多个变量时,它将解包成多个值,然后分别将其赋给相应的变量. # 打包 a = 1, 10, 100 print(type(a), a) # <class 'tuple'> (1, 10, 100) # 解包 i, j, k = a print(i, j, k) # 1 10 100 2.解包时,如果解包出来的元素数目与变量数目不匹配,就会引发ValueError异常.错误信息为:too many valu

  • Python中打包和解包(*和**)的使用详解

    目录 一.打包参数 二.解包参数 三.几点注意 *和**在函数的定义和调用阶段,有着不同的功能,并且,*和**不能离开函数使用! 一.打包参数 * 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整个元组赋值给变量args >>> def f(*args): # * 在函数定义中使用 print(args) >>> f() () >>> f(1) (1,) >>> f(1, 2, 3, 4) (1, 2, 3, 4) 我们可

  • 对python中的装包与解包实例详解

    *args和 **kwargs是常用的两个参数 *args:用于接受多余的未命名的参数,元组类型. **kwargs:用于接受形参的命名参数,字典类型的数据. 可变参数args: def fun(n, *args): print(n) print(args) # 未拆包 print(*args) # 进行拆包 fun(1,2,3,4) 结果: 1 (2, 3, 4) 2 3 4 形参中的*args是接受数据的args,它是一个元组,把传入的数据放进args元组中. 函数中的args仍然是元组,

  • python序列类型种类详解

    python序列类型包括哪三种 python序列类型包括:列表.元组.字典 列表:有序可变序列 创建:userlist = [1,2,3,4,5,6] 修改:userlist[5] = 999 添加:userlist.append(777) 删除:userlist.remove(4) 或者 del(userlist[3]) pop方法:移除一个元素,默认为最后一个. userlist.pop(3)移除第三个元素,并且返回该值. 插入:userlist.insert(3,555) 排序:userl

  • 在python中求分布函数相关的包实例

    为了了解(正态)分布的方法和属性,我们首先引入norm >>>from scipy.stats import norm >>>rv = norm() >>>dir(rv) # reformatted ['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__redu

  • python自动化测试之连接几组测试包实例

    本文实例讲述了python自动化测试之连接几组测试包的方法,分享给大家供大家参考.具体方法如下: 具体代码如下: class RomanNumeralConverter(object): def __init__(self): self.digit_map = {"M":1000, "D":500, "C":100, "L":50, "X":10, "V":5, "I"

  • Python中类型关系和继承关系实例详解

    本文详细介绍了Python中类型关系和继承关系.分享给大家供大家参考.具体分析如下: 如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航.这种导航关系使得Python中所有对象之间形成了一个复杂的网络结构. Python程序的运行包括: 1. 修改这个网络结构: 2. 执行有副作用的代码对象(code object或者说bytecode,见Python Language Reference 3.2) (副作用是指影响Python虚拟机之外的设备,这

  • python socket网络编程之粘包问题详解

    一,粘包问题详情 1,只有TCP有粘包现象,UDP永远不会粘包 你的程序实际上无权直接操作网卡的,你操作网卡都是通过操作系统给用户程序暴露出来的接口,那每次你的程序要给远程发数据时,其实是先把数据从用户态copy到内核态,这样的操作是耗资源和时间的,频繁的在内核态和用户态之前交换数据势必会导致发送效率降低, 因此socket 为提高传输效率,发送方往往要收集到足够多的数据后才发送一次数据给对方.若连续几次需要send的数据都很少,通常TCP socket 会根据优化算法把这些数据合成一个TCP段

随机推荐