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

yipeiwu_com7年前Python基础

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

方法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;

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

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

以上所述是小编给大家介绍的Python3中列表list合并的四种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python 换位密码算法的实例详解

 python 换位密码算法的实例详解 一前言: 换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而实现加密。例如,字符串“Error sh...

Python设计模式之命令模式原理与用法实例分析

Python设计模式之命令模式原理与用法实例分析

本文实例讲述了Python设计模式之命令模式原理与用法。分享给大家供大家参考,具体如下: 命令模式(Command Pattern):将请求封装成对象,从而使可用不同的请求对客户进行参数...

Django ORM多对多查询方法(自定义第三张表&ManyToManyField)

对于多对多表 - 1.自定义第三张表,更加灵活 - 2.ManyToManyField 自动生成第3张表 只能 有3列数据 不能自己添加。 自定义第三张表 # models.py...

python 制作自定义包并安装到系统目录的方法

python 制作自定义包并安装到系统目录的方法

python 中的包的概念跟c++中的namespace很相似,在大型的工程开发中,多个开发人员很容使用相同的函数名,为了避免相同函数名带来的问题,就引入了包的概念。 在看别人写的程序中...

Python使用面向对象方式创建线程实现12306售票系统

目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一...