python – 头部和尾部在一条线上
发布时间:2020-12-20 10:32:10 所属栏目:Python 来源:网络整理
导读:是否有一种 pythonic方法来解压缩第一个元素中的列表和单个命令中的“尾部”? 例如: head,tail = **some_magic applied to** [1,1,2,3,5,8,13,21,34,55] head1 tail[1,55] 解决方法 在Python 3.x下,你可以很好地做到这一点: head,*tail = [1,55] head1 ta
是否有一种
pythonic方法来解压缩第一个元素中的列表和单个命令中的“尾部”?
例如: >> head,tail = **some_magic applied to** [1,1,2,3,5,8,13,21,34,55] >> head 1 >>> tail [1,55] 解决方法
在Python 3.x下,你可以很好地做到这一点:
>>> head,*tail = [1,55] >>> head 1 >>> tail [1,55] 3.x中的一个新功能是在解包时使用*运算符,表示任何额外的值.它在PEP 3132 – Extended Iterable Unpacking中描述.这也具有处理任何可迭代的优点,而不仅仅是序列. 它也很可读. 如PEP中所述,如果您想在2.x下执行等效操作(无需创建临时列表),则必须执行以下操作: it = iter(iterable) head,tail = next(it),list(it) 正如评论中所指出的,这也提供了获取head的默认值而不是抛出异常的机会.如果你想要这个行为, 当然,如果您正在处理列表,没有3.x语法的最简单方法是: head,tail = seq[0],seq[1:] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |