python 解压可迭代对象给多个变量
来源:互联网 发布:购买备案域名注意事项 编辑:程序博客网 时间:2024/05/16 19:06
如果一个可迭代对象的元素个数超过变量个数时,会抛出一个ValueError。那么怎样才能从这个可迭代对象中解压出N个元素出来?
Python 提供“*”号表达式解决该问题
#示例1>>> 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']>>>#示例2>>> *trailing, current = [10, 8, 7, 1, 9, 5, 10, 3]>>> trailing[10, 8, 7, 1, 9, 5, 10]>>> current3 #示例3records = [('foo', 1, 2),('bar', 'hello'),('foo', 3, 4),]def do_foo(x, y): print('foo', x, y)def do_bar(s): print('bar', s)for tag, *args in records: if tag == 'foo': do_foo(*args) elif tag == 'bar': do_bar(*args) #示例4>>> line = 'nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false'>>> uname, *fields, homedir, sh = line.split(':')>>> uname'nobody'>>> homedir'/var/empty'>>> sh'/usr/bin/false'>>> #示例5#有时候,你想解压一些元素后丢弃它们,你不能简单就使用 * ,但是你可以使用一个普通的废弃名称,比如_或者_ign >>> record = ('ACME', 50, 123.45, (12, 18, 2012))>>> name, *_, (*_, year) = record>>> name'ACME'>>> year 2012
阅读全文
0 0
- python 解压可迭代对象给多个变量
- 1.2 解压可迭代对象赋值给多个变量
- 1.1Python解压序列赋值给多个变量
- 每日一题|解压可迭代对象赋值给多个变量
- 解压序列赋值给多个变量
- 每日一题|解压序列赋值给多个变量
- python同时给多个变量赋值
- python 共享引用:多个变量引用同一对象
- JS 给多个对象添加事件
- 给变量取个名字(变量命名)
- python多个变量同时赋值
- python--多个变量的for循环
- C++实现给多个变量传值
- Python变量和对象
- Python对象(变量)
- Python 变量和对象
- Python对象引用(变量)
- T-SQL从DB中取出多个字段赋值给多个变量/一个字段给单个变量赋值
- spring mvc 返回json类型设置
- hibernate集合查询报错:ora-03113:end-of-file on communication channel
- redis深入—持久化
- u3d 一个工程编译一半强制结束进程导致的问题
- Android网络图片加载框架的选择
- python 解压可迭代对象给多个变量
- Q:关于栈的常见问题
- 获取另一个项目的图片显示
- 行为驱动开发
- Win form Control.Invoke 探索
- 实现网易新闻框架的搭建
- servelt乱码问题
- Eclipse中一个Maven工程的目录结构
- 有关WSGi的认识和讨论