python3 cookbook 英文_python cookbook 3 翻译

自己买了个影印版,边翻边看边实践以期增强学习效果。计划是每日一个小片段,希望能坚持到底。

P.S 翻得不好,请轻拍。。

1 数据结构与算法

1.1 将一个序列分离转换成多个变量

问题:

如果你有一个由N个元素组成的元组或序列并想将其分离成多个变量。

解法:

只要变量的数量与相关的结构匹配,任何序列(或可迭代的对象)皆能通过赋值操作分离成多个变量。

新鲜的栗子~:(个人平台:win7 64位  python2.7.6)

>>> 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

>>> mon

12

>>> day

21

>>>

变量的数量与相关的结构不匹配的例子

>>> p = (4, 5)

>>> x, y, z = p

Traceback (most recent call last):

File "", line 1, in

x, y, z = p

ValueError: need more than 2 values to unpack

>>>

讨论:

不光是元组,列表,但凡是可迭代的对象如strings对象,文件对象,可迭代对象,生成器对象,(撒花?)此法皆有效。

又有栗子吃了

>>> s = 'Hello'

>>> a, b, c, d, e = s

>>> a

'H'

>>> b

'e'

>>> e

'o'

>>>

当你分离的时候,你有时候会想干掉某些元素。Python对此没有针对的语法,但是通常你可以通过使用可被抛弃的变量来实现。

栗子!栗子!

>>> data = [ 'ACME', 50, 91.1, (2012, 12, 21)]

>>> _, shares, price, _ = data

>>> shares

50

>>> price

91.1

>>>

当然,你务必确保该变量名未在他处使用过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值