1、list中extend方法有趣现象
1.1 List+=Str 与 List.extend(Str)
1 list1 = [11,2,45] 2 str1 = 'Michael' 3 list1.extend(str1) 4 print(list1) #list结果是[11, 2, 45, 'M', 'i', 'c', 'h', 'a', 'e', 'l'] 5 # 6 list1 += str1 7 print(list1) #list结果是[11, 2, 45, 'M', 'i', 'c', 'h', 'a', 'e', 'l', 'M', 'i', 'c', 'h', 'a', 'e', 'l']
1.2 List+=Dict 与 List.extend(Dict)
a =[1,2] dic={'a':123,'b':456} a+=dic print(a) #列表a的结果是[1, 2, 'a', 'b'] a.extend(dic) print(a) #列表a的结果是[1, 2, 'a', 'b', 'a', 'b']
1.3 List+=Tuple 与 List.extend(Tuple)
1 lis = [974,54,36,] 2 t = ('a','b','c') 3 lis +=t 4 print(lis) #lis 结果是[974, 54, 36, 'a', 'b', 'c'] 5 lis.extend(t) 6 print(lis) #lis结果是[974, 54, 36, 'a', 'b', 'c', 'a', 'b', 'c']
由以上现象大致得出结论:List += Iterable == List.extend(Iterable),最后的结果是一致的,均是将可迭代对象的每一个元素迭代添加进列表中;因为只有List有extend()方法,所以 可迭代对象+=列表 这种方式就会报错。