Python代码阅读(第20篇)(|Python代码阅读(第20篇): 展开嵌套列表2)
Python 代码阅读合集介绍: 为什么不推荐Python初学者直接看项目源码【Python代码阅读(第20篇)(|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# EXAMPLES
spread([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]
一样。推荐阅读
- CVE-2020-16898|CVE-2020-16898 TCP/IP远程代码执行漏洞
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- Ⅴ爱阅读,亲子互动——打卡第178天
- 上班后阅读开始变成一件奢侈的事
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 历史教学书籍
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- 绘本讲师训练营【24期】14/21阅读原创《小黑鱼》