两个函数在《python入门编程与案例详解》(清华大学出版社)中的解释:
append():在列表的尾部添加一个新元素
extend():可以将另一个可迭代对象的所有元素添加到列表的尾部
新元素好理解,变量,数值,字符等。
度娘”可迭代对象“概念:
迭代对象:可以直接作用于for循环的对象统称为可迭代对象
def main():
a = 100
l1 = [1, 2, 3]
l2 = [4, 5, 6]
list0 = [l1, l2]
print('# 原始两个列表:')
for i in list0:
print(i)
print()
print('# 用两种函数加变量a:')
# l1.extend(a) # 会报错
l2.append(a) # 可以运行,将100加到了末尾
print('extend函数报错')
print(l2)
print()
print('# 用两种函数加数字10:')
# l1.extend(10) # 会报错
l2.append(10) # 会给l1末尾加'10'
print('extend函数报错')
print(l2)
print()
print('# 用两种函数加字符串‘a’:')
l1.extend('a') # 会给l1末尾加'a'说明字符串就是可迭代对象
l2.append('a') # 会给l1末尾加'a'
for i in list0:
print(i)
print()
print('# 用两种函数加列表l1:append函数将l1作为整体加入了')
l1.extend(l1) # 会给l1末尾加'a'说明字符串就是可迭代对象
l2.append(l1) # 和extend函数结果有区别
for i in list0:
print(i)
print()
print('# 试图一个语句直接赋值')
l3 = l1.extend('b') # 这个语句可以为l1末尾加上'b',但无法给l3赋值
print(l3) # 运行结果为none
l3 = l1 # 可以把l1赋给l3
print(l3)
if __name__ == '__main__':
main()
这其中的深层调用什么的原因我也没深究,等以后实战时再说,感觉学习编程还是应用驱动比较有趣一些。