如果对象是可迭代的(任何序列),则可以进行分解操作,包括元组、列表、字符串、文件、迭代器以及生成器,可通过简单的一个赋值操作分解为单独的变量。

唯一要求:变量的总数和序列相吻合,否则将出错;

Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> p=[4,5]
>>> p
[4, 5]
>>> x,y=p
>>> x
4
>>> y
5
>>> data=['lucy',50,12.1,(2016,07,31)]
>>> data
['lucy', 50, 12.1, (2016, 7, 31)]
>>> name,shares,price,date=data
>>> name
'lucy'
>>> shares
50
>>> price
12.1
>>> date
(2016, 7, 31)
>>> name,shares,price,(year,mon,day)=data
>>> name
'lucy'
>>> shares
50
>>> price
12.1
>>> year
2016
>>> mon
7
>>> day
31
>>> s='hello'
>>> s
'hello'
>>> a,b,c,d,e=s
>>> c
'l'
>>> d
'l'
>>> e
'o'
>>> data=['lucy',50,12.1,(2016,07,31)]
>>> _,shares,price,_=data #当想丢弃某些值时,可以选一个用不到的变量名作为要丢弃的值的名称,比如此处“_”
>>> shares
50
>>> price
12.1
>>>

注意:请确保丢弃的值选择的变量名在其他地方未曾用到过。

【python cookbook】【数据结构与算法】1将序列分解为单独的变量的更多相关文章

  1. Chapter One:数据结构和算法-解压序列赋值给多个变量

    一.问题: 现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量? 二.解决方案: 代码示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  2. Python Cookbook 数据结构和算法

    1.查找最大或最小的N个元素 import heapq nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2] print(heapq.nlargest(3, n ...

  3. [0x00 用Python讲解数据结构与算法] 概览

    自从工作后就没什么时间更新博客了,最近抽空学了点Python,觉得Python真的是很强大呀.想来在大学中没有学好数据结构和算法,自己的意志力一直不够坚定,这次想好好看一本书,认真把基本的数据结构和算 ...

  4. 《用Python解决数据结构与算法问题》在线阅读

    源于经典 数据结构作为计算机从业人员的必备基础,Java, c 之类的语言有很多这方面的书籍,Python 相对较少, 其中比较著名的一本 problem-solving-with-algorithm ...

  5. 数据结构和算法(Golang实现)(2)简单入门Golang-包、变量和函数

    包.变量和函数 一.举个例子 现在我们来建立一个完整的程序main.go: // Golang程序入口的包名必须为 main package main // import "golang&q ...

  6. Python(一)数据结构和算法的20个练习题问答

    数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典.大多数情况下使用这些数据结构是很简单的. 但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题. 因此,这 ...

  7. [0x01 用Python讲解数据结构与算法] 关于数据结构和算法还有编程

    忍耐和坚持虽是痛苦的事情,但却能渐渐地为你带来好处. ——奥维德 一.学习目标 · 回顾在计算机科学.编程和问题解决过程中的基本知识: · 理解“抽象”在问题解决过程中的重要作用: · 理解并实现抽象 ...

  8. python cookbook 数据结构

    保留最后n个元素: from collections import deque def search (lines, pattern, history=): previous_lines = dequ ...

  9. python 学习笔记一 (数据结构和算法)

    2018年刚刚过完年,从今天起,做一个认真的技术人.开始进入记笔记阶段. python内置了很多数据结构,list , set,dictionary 1.将序列分解为单独的变量 1.1 通过赋值的方式 ...

随机推荐

  1. Mybatis在xml文件中处理大于号小于号的方法

    第一种方法:用了转义字符把">"和"<"替换掉,然后就没有问题了. AND start_date <= CURRENT_DATE AND en ...

  2. 删除docker私有库镜像

    不断往私库里push image,发现里面大多数镜像已经版本过旧,用不到了,所以决定删除私库里那些没用的镜像. Docker registry默认提供了一个仓库清理的url,如下:可以删除镜像ubun ...

  3. [BS] 小知识点总结-05

    [BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出 ...

  4. AngularJs赋值问题

    $scope.showUpgradeForm = function(item){ $scope.upgrade = item; $scope.upgrade.vercode++; // 其它操作 } ...

  5. EF Code First教程-03 数据库迁移Migrator

    要在nuget 程序包管理控制台中输入命令 基本命令 Enable-Migrations   //打开数据库迁移 Add-Migration AddBlogUrl    //新增一个数据库迁移版本   ...

  6. RTOS

    1. http://www.nuttx.org/ 2. http://www.rt-thread.org/page/73.html

  7. 红帽Linux 配置VNC桌面远程工具

    1.先确认VNC是否安装 默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上. 使用rpm命令检查是否安装了vnc,如果安装了就显示软件名称: [root@ ...

  8. curl命令常见用法汇总 good

    curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面. curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服 ...

  9. Oracle自增长ID

    在Oracle中,可以为每张表的主键创建一个单独的序列,然后从这个序列中获取自动增加的标识符,把它赋值给主键.例如一下语句创建了一个名为customer_id_seq的序列,这个序列的起始值为1,增量 ...

  10. data type Migration from MySQL to PostgreSQL

    MySQL          PostgreSQL tinyint           smallint smallint          smallint mediumint      integ ...