这篇文章给大家介绍利用python怎么进行解包,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
1、概念
解包就是把一个容器拆开、分解,在Python中的解包是自动完成的。
变量数量 = 元素数量,会进行逐一赋值。
(1)自动解包支持一切可迭代对象。
(2)python3中,支持更高级的解包操作,用星号操作使得等号左边的变量个数可以少于右边迭代对象中元素的个数。
(3)函数调用时,可以用*或者**解包可迭代对象,作为参数传递。
(4)python3.5,函数调用和表达式中可支持更多的解包操作。
一个list是一个整体,想把list中每个元素当成个体剥离出来。
>>> name, age, date = ['Bob', 20, '2018-1-1'] >>> name 'Bob' >>> age 20 >>> date '2018-1-1' 2.可迭代对象都可以这样做 # 列表 >>> a,b,c = ['a', 'b', 'c'] >>> a 'a' >>> a,b,c = enumerate(['a', 'b', 'c']) >>> a (0, 'a') # 元组 >>> a,b,c = ('a', 'b', 'c') >>> a 'a' # 字典 >>> a,b,c = {'a':1, 'b':2, 'c':3} >>> a 'a' >>> a,b,c = {'a':1, 'b':2, 'c':3}.items() >>> a ('a', 1) # 字符串 >>> a,b,c = 'abc' >>> a 'a' # 生成器 >>> a,b,c = (x + 1 for x in range(3)) >>> a 1
知识点扩展:
解包
在英文里叫做 Unpacking,就是将容器里面的元素逐个取出来放在其它地方,好比你父母去菜市场买了一袋苹果回来分别发给家里的每个成员,这个过程就是解包。Python 中的解包是自动完成的,例如:
student = ['xiaoqiang','man','22'] name,sex,age = student print(name,sex,age) 结果:xiaoqiang man 22
如果列表中有3个元素,那么刚好可以分配给3个变量。除了列表对象可以解包之外,任何可迭代对象都支持解包,可迭代对象包括元组、字典、集合、字符串、生成器等实现了__next__方法的一切对象。
关于利用python怎么进行解包就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。