详解python 拆包可迭代数据如tuple, list
拆包是指将一个结构中的数据拆分为多个单独变量中。
以元组为例:
>>> a = ('windows', 10, 25.1, (2017, 12, 29))
假设数据的意思是购买windows 10 份, 每份价值25.1刀。数据获取时间是2017年12月29日。
我们需要获取该数据中每份的价格:
>>> a[2]
也可以使用拆包的方法:
>>>os_type, number, price, dat = a >>>price
注意的问题拆包对象必须是可迭代的比如tuple和list。
第二个问题:我们只关心价格和日期,不关心系统和数量:
用一个不使用的变量,然后通过适配符号*,统配前两项。
>>> *_, price, dat = a >>> price >>>dat
第三个问题,如果我们只关心价格和月份,如何解开包?
>>> *_, price, (_, m, d) = a >>> price >>> m
注意解包在python中都支持,但是使用*统配多个数值python3中开始支持。所以使用*时候注意python版本信息。
问题: 如果左边和右边个数不匹配,没有使用*,结果会是什么:
ValueError: too many values to unpack
>>> _, price, (*_, m, d) =a Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> _, price, (*_, m, d) =a ValueError: too many values to unpack (expected 3)
总结
以上所述是小编给大家介绍的python 拆包可迭代数据如tuple, list,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
python学习笔记之列表(list)与元组(tuple)详解
前言 最近重新再看python的基础知识,感觉自己还是对于这些知识很陌生,需要用的时候还是需要翻书查阅,还是先注重基础吧--我要重新把python的教程阅读一遍,把以前自己忽略的部分学习,加强练习和记忆. 现在读到了列表(list).元组(tuple).集合(set)和字典(dict)四种在python内置的重要的数据结构.我只是想记录一下列表(list)和元组(tuple)比较容易搞混的地方和阐述一遍列表(list)和元组(tuple)比较常用的一些方法. 列表(list)与元组(tuple)
-
Python中内置数据类型list,tuple,dict,set的区别和用法
Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然
-
python的dict,set,list,tuple应用详解
本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握.具体如下: 1.字典(dict) dict 用 {} 包围 dict.keys(),dict.values(),dict.items() hash(obj)返回obj的哈希值,如果返回表示可以作为dict的key del 或 dict.pop可以删除一个item,clear清除所有的内容 sorted(dict)可以把dict排序 dict.get()可以查找没存在的key,dict
-
Python序列之list和tuple常用方法以及注意事项
sequence 序列 sequence(序列)是一组有顺序的对象的集合.序列可以包含一个或多个元素,也可以没有任何元素. 我们之前所说的基本数据类型,都可以作为序列的对象.对象还可以是另一个序列.序列有两种:list (表) 和 tuple(元组) . list和tuple的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更. List 获得list元素的个数: 复制代码 代码如下: >>> lst=['更新慢','python',5.44,Fals
-
详解python 拆包可迭代数据如tuple, list
拆包是指将一个结构中的数据拆分为多个单独变量中. 以元组为例: >>> a = ('windows', 10, 25.1, (2017, 12, 29)) 假设数据的意思是购买windows 10 份, 每份价值25.1刀.数据获取时间是2017年12月29日. 我们需要获取该数据中每份的价格: >>> a[2] 也可以使用拆包的方法: >>>os_type, number, price, dat = a >>>price 注意的问题
-
详解Python中生成随机数据的示例详解
目录 随机性有多随机 加密安全性 PRNG random 模块 数组 numpy.random 相关数据的生成 random模块与NumPy对照表 CSPRNG 尽可能随机 os.urandom() secrets 最佳保存方式 UUID 工程随机性的比较 在日常工作编程中存在着各种随机事件,同样在编程中生成随机数字的时候也是一样,随机有多随机呢?在涉及信息安全的情况下,它是最重要的问题之一.每当在 Python 中生成随机数据.字符串或数字时,最好至少大致了解这些数据是如何生成的. 用于在 P
-
详解python实现读取邮件数据并下载附件的实例
详解python实现读取邮件数据并下载附件的实例 实现结果图: 实现代码: #!/usr/bin/python2.7 # _*_ coding: utf-8 _*_ """ @Author: MarkLiu """ import poplib import email from email.parser import Parser from email.header import decode_header from email.utils im
-
详解Python中如何将数据存储为json格式的文件
一.基于json模块的存储.读取数据 names_writer.py import json names = ['joker','joe','nacy','timi'] filename='names.json' with open(filename,'w') as file_obj: json.dump(names,file_obj) 解释:我们先导入json模块,再创建一个名字列表,第5行我们指定了要将该列表存储到其中的文件的名称.通常使用扩展名.json来指出文件存储的数据为json格式.
-
详解Python如何实现Excel数据读取和写入
目录 1. 功能分析 2.系统开发环境 3.安装依赖库 4. 主函数设计 5.模块设计 1. 功能分析 1.加载文件夹内所有的Excel数据: 2.生产贡献度分析图表(以柱状图显示表格数据): 3.提起Excel表格中指定列数据: 4.定向筛选所需数据: 5.多表数据统计排行: 6.多表数据合并新excel文件. 2.系统开发环境 Anaconda3,在conda 中,window和ubuntu中的python功能一样 . pycharm. 3.安装依赖库 这些依赖包 都要装好 import
-
详解Python之可迭代对象,迭代器和生成器
目录 一.概念描述 二.序列的可迭代性 三.经典的迭代器模式 四.生成器也是迭代器 五.实现惰性迭代器 六.使用生成器表达式简化惰性迭代器 总结 一.概念描述 可迭代对象就是可以迭代的对象,我们可以通过内置的iter函数获取其迭代器,可迭代对象内部需要实现__iter__函数来返回其关联的迭代器; 迭代器是负责具体数据的逐个遍历的,其通过实现__next__函数得以逐个的访问关联的数据元素;同时通过实现__iter__来实现对可迭代对象的兼容; 生成器是一种迭代器模式,其实现了数据的惰性生成,即
-
详解python websocket获取实时数据的几种常见链接方式
第一种, 使用create_connection链接,需要pip install websocket-client (此方法不建议使用,链接不稳定,容易断,并且连接很耗时) import time from websocket import create_connection url = 'wss://i.cg.net/wi/ws' while True: # 一直链接,直到连接上就退出循环 time.sleep(2) try: ws = create_connection(url) print
-
一文详解Python如何优雅地对数据进行分组
假设我们有这样一种数据: data = [ ("apple", 30), ("apple", 35), ("apple", 32), ("pear", 60), ("pear", 32), ("pear", 60), ("banana", 102), ("banana", 104) ] # 我们希望变成如下格式 &q
-
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
获取要爬取的URL 爬虫前期工作 用Pycharm打开项目开始写爬虫文件 字段文件items # Define here the models for your scraped items # # See documentation in: # https://docs.scrapy.org/en/latest/topics/items.html import scrapy class NbaprojectItem(scrapy.Item): # define the fields for yo
-
详解Python小数据池和代码块缓存机制
前言 本文除"总结"外,其余均为认识过程:3.7.5:这部分官方文档不知道在哪里找,目前没有找到,有谁知道的可以麻烦留言吗? 谢谢了! 总结: 如果在同一代码块下,则采用同一代码块下的缓存机制: 如果是不同代码块,则采用小数据池的驻留机制: 需要注意的是,交互式输入时,每个命令都是一个代码块: 实现 Intern 保留机制的方式非常简单,就是通过维护一个字符串储蓄池,这个池子是一个字典结构,编译时,如果字符串已经存在于池子中就不再去创建新的字符串,直接返回之前创建好的字符串对象, 如果
随机推荐
- php简单复制文件的方法
- PHP设计模式 注册表模式
- SQLServer更改sa用户名的方法
- 解析C++中构造函数的默认参数和构造函数的重载
- java web项目里ehcache.xml介绍
- 经典的解除许多网站无法复制文字的绝招
- asp.net 在处理向该请求提供服务所需的配置文件时出错
- PHP防CC攻击实现代码
- Android GridView实现滚动到指定位置的方法
- JavaScript去除空格的几种方法
- Python类定义和类继承详解
- 浅析Python中的多进程与多线程的使用
- Android实现app应用多语言切换功能
- javascript实现checkbox全选的代码
- Python如何实现文本转语音
- AJAX 常用函数
- 浅谈ASP.NET MVC应用程序的安全性
- linux下mysql5.7.19(tar.gz)安装图文教程
- Windows系统下安装Node.js的步骤图文详解
- 将光标定位到textarea的某一行的javascript代码