博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将序列分解为单独的变量
阅读量:5366 次
发布时间:2019-06-15

本文共 1001 字,大约阅读时间需要 3 分钟。

 问题:

有一个包含N个元素的元组或序列,现在想将他们分解为N个单独的变量

 解决方案:

任何序列(或可迭代的对象)都可以通过一个简单的赋值操作来分解为单独的变量。唯一的要求是变量的总数和结构要与序列相吻合。例如:

>>> p = (4, 5)>>> x, y = p>>> x4>>> y5>>>

  

>>> data = ['ACME', 50, 91.1, (2012, 12, 21)]>>> name, shares, price, date = data>>> name'ACME'>>> shares50>>> price91.1>>> date(2012, 12, 21)>>> name, shares, price, (year, mon, day) = data>>> name'ACME'>>> year2012>>> mon12>>> day21>>>

  

如果元素的数量不匹配,将得到一个错误提示。例如:

>>> p = (4, 5)>>> x, y, z = pTraceback (most recent call last):File "
", line 1, in
ValueError: need more than 2 values to unpack>>>

  

 讨论

实际上不仅仅只是元组或列表,只有对象恰好是可迭代的,那么就可以执行分解操作。这包括字符串、文件、迭代器以及生成器。例如:

>>> s = 'Hello'>>> a, b, c, d, e = s>>> a'H'>>> b'e'>>> e'o'>>>

  

当做分解操作时,有时候可能想丢弃某些特定的值,Python并没有提供特殊的语法来实现这一点,但是通常可以选择一个用不到的变量名,以此来作为要丢弃的值的名称。例如:

>>> data = ['ACME', 50, 91.1, (2012, 12, 21)]>>> _, shares, price, _ = data>>> shares50>>> price91.1>>> _(2012, 12, 21)>>>

  

但是请确保选择的变量名没有在其他地方用到过

 

转载于:https://www.cnblogs.com/python-gm/p/8966000.html

你可能感兴趣的文章
[sql]mysql启停脚本
查看>>
[elk]Mutate filter plugin增删改查字段
查看>>
Java内功心法,行为型设计模式
查看>>
向github项目push代码后,Jenkins实现其自动构建
查看>>
jquery中的ajax方法参数的用法和他的含义
查看>>
BZOJ 1226: [SDOI2009]学校食堂Dining
查看>>
数组去重的几种方法
查看>>
包装类的自动装箱与拆箱
查看>>
ShareSDk的使用
查看>>
android使用web加载网页的js问题
查看>>
libvirt log系统分析
查看>>
poj 1068 Parencodings
查看>>
docker 数据卷管理
查看>>
adb
查看>>
Apache Tomcat部署java web项目
查看>>
转泛型
查看>>
第二周 9.6-9.12
查看>>
用mkdirs创建目录
查看>>
[转] Web前端优化之 Server篇
查看>>
如何让一个div的大小,从某一个特定值开始,随内容的增加而自动变化?
查看>>