Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例


Posted in Python onFebruary 13, 2018

本文实例讲述了python从任意长度的可迭代对象中分解元素操作。分享给大家供大家参考,具体如下:

从某个可迭代对象中分解出N个元素,但是可迭代对象的长度可能超过N,会出现“分解值过多”的异常;

使用“*表达式”来解决该问题:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> *headdata,current=[10,3,2,6,8,5] #*修饰的变量位于列表第一个位置,轻松分别头部和尾部
>>> headdata
[10, 3, 2, 6, 8]
>>> current
5
>>> record=('dave','dave@example.com','773-555-1212','847-555-1212')
>>> name,email,*phone_numbers=record#*修饰的变量位于列表最后一个位置
>>> name
'dave'
>>> email
'dave@example.com'
>>> phone_numbers
['773-555-1212', '847-555-1212']
>>> line='nobody:*:-2:-3:Unpriviledged User:/var/empty:/usr/bin/false'
>>> uname,*fields,homedir,sh=line.split(':') #*修饰的变量位于中间位置,且与字符串处理操作相结合
>>> uname
'nobody'
>>> homedir
'/var/empty'
>>> sh
'/usr/bin/false'
>>> fields
['*', '-2', '-3', 'Unpriviledged User']
>>> record=['lucy',50,123.4,(12,13,2016)]
>>> name,*_,(*_,year)=record #将某些分解出的值丢弃
>>> name
'lucy'
>>> year
2016
>>>

*式用法在迭代一个变长的元组序列时尤其有用:

Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例

(代码摘自《Python Cookbook》)

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
给Python入门者的一些编程建议
Jun 15 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
Apr 24 Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 Python
python简单操作excle的方法
Sep 12 Python
django配置连接数据库及原生sql语句的使用方法
Mar 03 Python
Django使用redis缓存服务器的实现代码示例
Apr 28 Python
django基于存储在前端的token用户认证解析
Aug 06 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
Jan 21 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
Feb 13 #Python
Python内置模块ConfigParser实现配置读写功能的方法
Feb 12 #Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 #Python
20个常用Python运维库和模块
Feb 12 #Python
使用python实现BLAST
Feb 12 #Python
Python内置模块logging用法实例分析
Feb 12 #Python
Request的中断和ErrorHandler实例解析
Feb 12 #Python
You might like
PHP下10件你也许并不了解的事情
2008/09/11 PHP
用JavaScript页面不刷新时全选择,全删除(GridView)
2009/04/14 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
js字符编码函数区别分析
2011/12/28 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
js html实现计算器功能
2018/11/13 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
Python标准库defaultdict模块使用示例
2015/04/28 Python
python下载微信公众号相关文章
2019/02/26 Python
django admin组件使用方法详解
2019/07/19 Python
python logging设置level失败的解决方法
2020/02/19 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
材料化学应届生求职信
2013/10/09 职场文书
大学新生欢迎词
2014/01/10 职场文书
学校评语大全
2014/05/06 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android