Python 小技巧——读书笔记(1)解压赋值

人生苦短,我用python。

最近由于一些机缘巧合,真正接触了一下python这门方便的语言,瞬间就被征服了一番。感觉这门语言真的是方便省事,虽然没有c++这么高效。

闲话不说,我们一起来看看python里面一些神奇的地方吧!(→_→)

解压赋值

list和tuple,相信各位pythoner都会很熟悉的结构,以序列的形式用来存储多个元素。它可以同时赋值给N个变量,但前提是N必须和列表的长度一样。如果变量个数和序列元素的个数不匹配,会产生一个异常

这里写图片描述

那么,该怎么在一个列表中取出n个元素呢?python提供了一个方便的符号:*
*号操作符提供了一个可以解压提取列表中元素的操作,比如说我现在有一堆的数据,数据格式是(性别,姓名,电话1,电话2,电话3….),那么我现在需要提取出每个人的电话,我们就可以用以下的方式进行操作:

data = ( ("男","张三","88888888","99999999","010-88821"),("男","李四","88888883138","9999944139","010-88123821"))

def printData(data):
    for item in data:
        sex,name,*phone = item
        print("sex:%s, name: %s, phone: %s"%(sex,name,phone))

printData(data)

这种扩展的解压缩赋值的方法是为了应对不确定元素而存在的,目的是为了让开发人员更方便的去提取元素而不是写一大串的逻辑来提取,利用这点我们可以用来分割字符串,求特定值等,这里就不一一说了

你可能感兴趣的:(python)