Python3中列表list合并的四种方法

时间:2022-09-21 12:37:53

下面是[列表]合并的4种方法,其中的代码都在python3下测试通过,在python2下运行应该也没问题,时间关系就没测试,有任何问题欢迎给我留言。

方法1: 直接使用"+"号合并列表

?
1
2
3
4
5
6
7
8
|
alist ``= [``1``,``2``,``3``]
blist ``= [``'www'``, ``'pythontab.com'``]
clist ``= alist ``+ blist
dlist ``= blist ``+ alist
print``(clist)
print``(dlist)
|

输出为:

?
1
2
3
4
|
[1, 2, 3, ``'www'``, ``'pythontab.com'``]
[``'www'``, ``'pythontab.com'``, 1, 2, 3]
|

方法2: 使用extend方法

?
1
2
3
4
5
6
|
alist ``= [``1``,``2``,``3``]
blist ``= [``'www'``, ``'pythontab.com'``]
alist.extend(blist)
print``(alist)
|

输出为:

?
1
2
3
|
[1, 2, 3, ``'www'``, ``'pythontab.com'``]
|

注意:使用 extend 方法会直接修改list数据, extend 方法的返回值为none,所以直接打印alist

方法3: 使用切片

?
1
2
3
4
5
6
|
alist ``= [``1``,``2``,``3``]
blist ``= [``'www'``, ``'pythontab.com'``]
alist[``len``(alist):``len``(alist)] ``= blist
print``(alist)
|

输出:

?
1
2
3
|
[1, 2, 3, ``'www'``, ``'pythontab.com'``]
|

注:len(alist)代表要将blist插入alist中的位置

例如

?
1
2
3
4
5
6
|
alist ``= [``1``,``2``,``3``]
blist ``= [``'www'``, ``'pythontab.com'``]
alist[``1``:``1``] ``= blist
print``(alist)
|

输出为:

?
1
2
3
|
[1, ``'www'``, ``'pythontab.com'``, 2, 3]
|

方法4: 使用append方法

a.append(b) 将b看成list一个元素和a合并成一个新的list,它和前面的方法的输出结果不同

实例:

?
1
2
3
4
5
6
|
alist ``= [``1``,``2``,``3``]
blist ``= [``'www'``, ``'pythontab.com'``]
alist.append(blist)
print``(alist)
|

输出:

?
1
2
3
|
[1, 2, 3, [``'www'``, ``'pythontab.com'``]]
|

它直接把blist当成了一个元素整个放入了alist

总结:

第一种方方法思路比较清晰,就是运算符的[重载]

第二种方法比较简洁,但会覆盖原始list;

第三种方法功能比较强大,可以将一个列表插入另一个列表的任意位置

第四种方法类似于第二种方法,但是输出的结果不同,如何使用需要看需求而定

以上所述是小编给大家介绍的python3中列表list合并的四种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

原文链接:https://www.jianshu.com/p/5c7a682130ad