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实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 Python
Python datetime时间格式化去掉前导0
Jul 31 Python
深入Python函数编程的一些特性
Apr 13 Python
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
Python线程指南详细介绍
Jan 05 Python
Python for循环中的陷阱详解
Jul 13 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
python+OpenCV实现图像拼接
Mar 05 Python
python接入支付宝的实例操作
Jul 20 Python
拒绝盗图!教你怎么用python给图片加水印
Jun 04 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下使用无限生命期Session的方法
2007/03/16 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
解决vue数组中对象属性变化页面不渲染问题
2018/08/09 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
python创建和使用字典实例详解
2013/11/01 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
Python切片操作实例分析
2018/03/16 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
Python使用type动态创建类操作示例
2020/02/29 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
企业厂长岗位职责
2013/12/17 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
自主招生自荐信格式
2015/03/04 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
R9700摩机记
2022/04/05 无线电
Pandas 数据编码的十种方法
2022/04/20 Python
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python
JavaScript前端面试组合函数
2022/06/21 Javascript