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中time模块与datetime模块在使用中的不同之处
Nov 24 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
Tornado 多进程实现分析详解
Jan 12 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
Apr 22 Python
python 函数内部修改外部变量的方法
Dec 18 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
python文件写入write()的操作
May 14 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
wxPython实现画图板
Aug 27 Python
解决import tensorflow as tf 出错的原因
Apr 16 Python
keras 解决加载lstm+crf模型出错的问题
Jun 10 Python
python如何利用cv2模块读取显示保存图片
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实现的功能是显示8条基色色带
2006/10/09 PHP
PHP 高手之路(二)
2006/10/09 PHP
PHP安全上传图片的方法
2015/03/21 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
2016/05/18 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
js 调用百度分享功能
2017/02/27 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
React diff算法的实现示例
2018/04/20 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
JavaScript数组常用的增删改查与其他属性详解
2020/10/13 Javascript
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
解析Python中while true的使用
2015/10/13 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
DataFrame中去除指定列为空的行方法
2018/04/08 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
骨干教师考核方案
2014/05/09 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
公务员考察材料
2014/12/23 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
同事去世追悼词
2015/06/23 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python