Python代码阅读宝典简介:为什么不建议Python初学者直接阅读项目源码?本文阅读的代码将包含基本元素和列表元素的列表扩展为一个新的列表函数。本文阅读的代码片段来自30-seconds-of-python。spreaddefspread(arg):ret=[]foriinarg:ret.extend(i)ifisinstance(i,list)elseret.append(i)returnret#EXAMPLESspread([1,2,3,[4,5,6],[7],8,9])#[1,2,3,4,5,6,7,8,9]展开函数将一个列表的元素展开到一个新的列表中。spread遍历原始列表的所有元素,如果元素是列表,使用list.extend(),否则使用list.append()。isinstance(object,classinfo)用于判断输入对象是classinfo类型的实例还是它的子类。这里用来判断原列表中的元素是否为列表。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]相同。
