下面是列表合并的4种方法,其中的代码都在Python3下测试通过,在Python2下运行应该也没问题,时间关系就没测试,遇到问题可以去bbs.pythontab.com留言提问
方法1: 直接使用"+"号合并列表
aList = [1,2,3] bList = ['www', 'pythontab.com'] cList = aList + bList dList = bList + aList print(cList) print(dList)
输出为:
[1, 2, 3, 'www', 'pythontab.com'] ['www', 'pythontab.com', 1, 2, 3]
方法2: 使用extend方法
aList = [1,2,3] bList = ['www', 'pythontab.com'] aList.extend(bList) print(aList)
输出为:
[1, 2, 3, 'www', 'pythontab.com']
注意:使用extend
方法会直接修改list数据,extend
方法的返回值为None,所以直接打印aList
方法3: 使用切片
aList = [1,2,3] bList = ['www', 'pythontab.com'] aList[len(aList):len(aList)] = bList print(aList)
输出:
[1, 2, 3, 'www', 'pythontab.com']
注:len(aList)代表要将bList插入aList中的位置
例如
aList = [1,2,3] bList = ['www', 'pythontab.com'] aList[1:1] = bList print(aList)
输出为:
[1, 'www', 'pythontab.com', 2, 3]
方法4: 使用append方法
a.append(b)
将b看成list一个元素和a合并成一个新的list,它和前面的方法的输出结果不同
实例:
aList = [1,2,3] bList = ['www', 'pythontab.com'] aList.append(bList) print(aList)
输出:
[1, 2, 3, ['www', 'pythontab.com']]
它直接把bList当成了一个元素整个放入了aList
总结:
第一种方方法思路比较清晰,就是运算符的重载;
第二种方法比较简洁,但会覆盖原始list;
第三种方法功能比较强大,可以将一个列表插入另一个列表的任意位置
第四种方法类似于第二种方法,但是输出的结果不同,如何使用需要看需求而定