写点什么

Python 代码阅读(第 20 篇): 展开嵌套列表 2

用户头像
Felix
关注
发布于: 3 小时前
Python代码阅读(第20篇): 展开嵌套列表2

本篇阅读的代码实现将一个包含基础元素和列表元素的列表展开成一个新列表的功能。


本篇阅读的代码片段来自于30-seconds-of-python

spread

def spread(arg):  ret = []  for i in arg:    ret.extend(i) if isinstance(i, list) else ret.append(i)  return ret
# EXAMPLESspread([1, 2, 3, [4, 5, 6], [7], 8, 9]) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
复制代码


spread函数将一个列表的元素平铺到一个新的列表中。spread遍历原列表所有元素,如果元素是一个 list,则使用list.extend(),否则使用list.append()


isinstance(object, classinfo)用于判断输入object是否属于classinfo类型的实例或是其子类。在这里用于判断原始列表中的元素是否是一个list


ret.extend(i)ret += i一样,使用i的内容扩展ret,将列表i中的元素逐个加入到列表ret中。类似于ret[len(ret):len(ret)] = i操作。


ret.append(i)i作为一个元素添加到列表ret的末尾,和ret[len(ret):len(ret)] = [i]一样。

发布于: 3 小时前阅读数: 3
用户头像

Felix

关注

还未添加个人签名 2018.05.04 加入

欢迎关注个人公众号:没看点 个人主页:www.zhangfelix.com

评论

发布
暂无评论
Python代码阅读(第20篇): 展开嵌套列表2