很多知识点的使用是需要结合在一起,这就会出现一个代码中嵌套了好几个函数,虽然能够实现一些功能上的要求,但是在理解上会加深难度。不过本篇我们需要做的是,把复杂的嵌套展开成简单的列表,相信这个化繁为简的方法很多小伙伴都想学习了,其他的不多说,接下来我们就从python3展开列表的代码开始进行讲解。
站在用户的角度思考问题,与客户深入沟通,找到桥东网站设计与桥东网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟主机、企业邮箱。业务覆盖桥东地区。
展开列表
该方法将通过递归的方式将列表的嵌套展开为单个列表。
def spread(arg):
ret = []
for i in arg:
if isinstance(i, list):
ret.extend(i)
else:
ret.append(i)
return ret
def deep_flatten(lst):
result = []
result.extend(
spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))
return result
deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]
拓展:列表的差
该方法将返回第一个列表的元素,其不在第二个列表内。如果同时要反馈第二个列表独有的元素,还需要加一set_b.difference(set_a)。
def difference(a, b):
set_a = set(a)
set_b = set(b)
comparison = set_a.difference(set_b)
return list(comparison)
difference([1,2,3], [1,2,4]) # [3]
看完之后的小伙伴,可以都动手试一下展开列表的方法,毕竟把繁琐的事情变简单还是很快乐的事情。同时也可以了解一下列表的差,之后的文章会有这方面的深入讲解。更多Python学习指路:PyThon学习网教学中心。
网页名称:创新互联Python教程:如何写python3展开列表的代码?
本文URL:http://www.shufengxianlan.com/qtweb/news40/95440.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联