python cookbook读书笔记1 第一章 数据结构和算法1


title: python cookbook笔记 第一章:数据结构和算法1
tags:
grammar_cjkRuby: true

在读python cookbook
书中介绍了很多各式各样的处理字符串/序列/字典/各种IO流/函数的技巧
这里用笔记的方式记录

将序列分解为单独的变量

将序列都可以通过一个简单的赋值操作来分解为单独的变量
要求是变量的总数和结构要与序列 相对应

>>> p = (4, 5)
>>> x, y = p
>>> x
4
>>> y
5

>>> data = [ "ACME", 50, 91.1, (2012, 12, 21) ]
>>> name, shares, price , date = data
>>> name
'ACME'
>>> date
(2012, 12, 21)
>>> name, shares, price , (year, mon, day) = data
>>> name
'ACME'
>>> year
2012
>>> day
21

可以看到,通过这种方式能够把元组中的元素按一一对应的方式取出来
如果试图取出的元素的个数与元组或者其他类型的序列的元素个数不匹配,则会报错


>>> x, y, z = p
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    x, y, z = p
ValueError: need more than 2 values to unpack

不仅仅是对元组,包括对各种可以迭代的序列,比如字符串,列表,字典都可以这样取出元素
下面举出了对于字符串进行按对应元素取出元素的情形,并且抛弃了一些不需要的元素
s = "hello"

>>> a, b, c, d, e = s
>>> a
'h'
>>> e
'o'
>>> _,_,_,d,e = s
>>> d
'l'
>>> e
'o'
原文地址:https://www.cnblogs.com/haozike/p/python_cookbook_chapter1_1.html