发布时间:2019-09-23 17:09:11编辑:auto阅读(1875)
自己买了个影印版,边翻边看边实践以期增强学习效果。计划是每日一个小片段,希望能坚持到底。
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 "<pyshell#14>", line 1, in <module>
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
>>>
当然,你务必确保该变量名未在他处使用过。
上一篇: python3+django2开发一个简
下一篇: python之MySQLdb库的使用
48458
47342
38227
35470
29925
26632
25606
20551
20247
18672
71°
85°
186°
135°
154°
287°
346°
342°
314°
406°