首页 / PYTHON / 在python中展平列表
在python中展平列表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在python中展平列表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1143字,纯文字阅读大概需要2分钟。
内容图文
![在python中展平列表](/upload/InfoBanner/zyjiaocheng/756/718d7e88f56e497fa04d7ba6ed4f61aa.jpg)
我看过很多关于如何在Python中展平列表的帖子.但我无法理解这是如何工作的:reduce(lambda x,y:x y,* myList)
有人可以解释,这是如何工作的:
>>> myList = [[[1,2,3],[4,5],[6,7,8,9]]]
>>> reduce(lambda x,y:x+y,*myList)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
链接已发布:
How to print list of list into one single list in python without using any for or while loop?
Flattening a shallow list in Python
Flatten (an irregular) list of lists
如果有人认为这与其他帖子重复,我会在理解它的工作原理后删除它.
谢谢.
解决方法:
简单来说,减少的是它需要两件事:
>一个函数f:
>接受2个参数
>返回使用这两个值计算的值
>可迭代的iter(例如列表或str)
reduce计算f的结果(iter [0],iter [1])(可迭代的前两项),并跟踪刚刚计算的这个值(称之为temp). reduce然后计算f(temp,iter [2]),现在跟踪这个新值.这个过程一直持续到iter中的每个项都被传递给f,并返回计算出的最终值.
将* myList传递给reduce函数时使用*是它需要一个可迭代的并将其转换为多个参数.这两行做同样的事情:
myFunc(10,12)
myFunc(*[10,12])
对于myList,您使用的列表中只包含一个列表.因此,将*放在前面会将myList替换为myList [0].
关于兼容性,请注意reduce函数在Python 2中完全正常,但在Python 3中你必须这样做:
import functools
functools.reduce(some_iterable)
内容总结
以上是互联网集市为您收集整理的在python中展平列表全部内容,希望文章能够帮你解决在python中展平列表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。