• 1.列表相加
# 1.列表相加
list1 = ['apple', 'orange', 'banana', 'pear']
list2 = ['tiger', 'horse', 'rose']
list3 = list1 + list2
print(list3)
# ['apple', 'orange', 'banana', 'pear', 'tiger', 'horse', 'rose']
  • 2.extend()
# extend()
list_1 = [1, 2, 3]
list_2 = ['a', 'b', 'c']
print(list_1)  # [1, 2, 3]
print(list_2)  # ['a', 'b', 'c']
list_1.extend(list_2)
print(list_1)  # [1, 2, 3, 'a', 'b', 'c']
  • 3.列表推导式
# 3.列表推导式
list_3 = ['孙悟空', '贾宝玉', '鲁智深']
list_4 = ['王朝', '马汉', '春秋战国']
list_5 = [j for i in (list_3, list_4) for j in i]
print(list_5)
# ['孙悟空', '贾宝玉', '鲁智深', '王朝', '马汉', '春秋战国']
  • 4.itertools.chain()
# 4.itertools.chain()
import itertoolslist_3 = ['孙悟空', '贾宝玉', '鲁智深']
list_4 = ['王朝', '马汉', '春秋战国']
list_chain = itertools.chain(list_3, list_4)
print(type(list_chain))  # <class 'itertools.chain'>list_6 = list(list_chain)
print(list_6)
# ['孙悟空', '贾宝玉', '鲁智深', '王朝', '马汉', '春秋战国']
  • 5.使用*解包
# 5.使用*解包
list_1 = [1, 2, 3, 'a', 'b', 'c']
list_2 = ['java', 'php', 'python']
list_3 = [*list_1, *list_2]
print(list_1)  # [1, 2, 3, 'a', 'b', 'c']
print(list_2)  # ['java', 'php', 'python']
print(list_3)  # [1, 2, 3, 'a', 'b', 'c', 'java', 'php', 'python']
  • 6.使用heapq
# 6.使用heapq
from heapq import mergelist_1 = ['a', 'b', 'c']
list_2 = ['php', 'java', 'python', 'c#']
list_merge = list(merge(list_1, list_2))
print(list_1)  # ['a', 'b', 'c']
print(list_2)  # ['php', 'java', 'python', 'c#']
print(list_merge)  # ['a', 'b', 'c', 'php', 'java', 'python', 'c#']
  • 7.add()
# 7.__add__
list1 = ['a', 'b', 'c', 1, 3, 5, 7, 9]
list2 = [2, 4, 6, 8, 10]
list3 = list1.__add__(list2)
print(list1)  # ['a', 'b', 'c', 1, 3, 5, 7, 9]
print(list2)  # [2, 4, 6, 8, 10]
print(list3)  # ['a', 'b', 'c', 1, 3, 5, 7, 9, 2, 4, 6, 8, 10]# 借用__add__(),可以使用reduce 方法来对多个列表进行合并
from functools import reducelist4 = ['三国演义', '水浒传', '西游记', '红楼梦']
list_5 = reduce(list.__add__, (list1, list2, list4))
print(list_5)
# ['a', 'b', 'c', 1, 3, 5, 7, 9, 2, 4, 6, 8, 10, '三国演义', '水浒传', '西游记', '红楼梦']
  • 8.使用yield from
# 8.使用yield from
def merge(*lists):for l in lists:yield from llist1 = ['java', 'php', 'c', 'c#', 'php']
list2 = ['Windows', 'Linux', 'Mac']
list3 = [110, 120, 119]
list_merge = list(merge(list1, list2, list3))
print(list_merge)
# ['java', 'php', 'c', 'c#', 'php', 'Windows', 'Linux', 'Mac', 110, 120, 119]
  • 9.列表打包–zip()
    列表长度需要一致。
# 9.zip()-- 列表长度需要一致
books = ['三国演义', '水浒传', '西游记', '红楼梦']
authors = ['罗贯中', '施耐庵', '吴承恩', '曹雪芹']
list_zip = zip(books, authors)
# for book, author in list_zip:
#     print(f'{book}--{author}')
list2 = list(list_zip)
print(list2)
# [('三国演义', '罗贯中'), ('水浒传', '施耐庵'), ('西游记', '吴承恩'), ('红楼梦', '曹雪芹')]
  • 10.列表打包–zip_longest()
    取较长的列表的长度,补齐字段默认为None。
import itertools# 10.zip_longest()--取较长的列表的长度,补齐字段默认为None
books = ['三国演义', '水浒传', '西游记', '红楼梦', '聊斋志异', '悲惨世界', '昙花梦', '战争与和平']
authors = ['罗贯中', '施耐庵', '吴承恩', '曹雪芹', '蒲松龄']
list_zip_longest = list(itertools.zip_longest(books, authors))
print(list_zip_longest)
# [('三国演义', '罗贯中'), ('水浒传', '施耐庵'), ('西游记', '吴承恩'), ('红楼梦', '曹雪芹'), ('聊斋志异', '蒲松龄'), ('悲惨世界', None), ('昙花梦', None), ('战争与和平', None)]books = ['三国演义', '水浒传', '西游记', '红楼梦', '聊斋志异', '悲惨世界', '昙花梦', '战争与和平']
authors = ['罗贯中', '施耐庵', '吴承恩', '曹雪芹', '蒲松龄', 1, 2, 3, 4, 5, 6, 7, 8]
list_zip_longest = list(itertools.zip_longest(books, authors))
print(list_zip_longest)
# [('三国演义', '罗贯中'), ('水浒传', '施耐庵'), ('西游记', '吴承恩'), ('红楼梦', '曹雪芹'), ('聊斋志异', '蒲松龄'), ('悲惨世界', 1), ('昙花梦', 2), ('战争与和平', 3), (None, 4), (None, 5), (None, 6), (None, 7), (None, 8)]

参考文章:

  • https://www.jb51.net/article/208280.htm
  • http://blog.itpub.net/69955379/viewspace-2764754/

python 列表操作之合并相关推荐

  1. python列表操作:追加元素到列表的代码

    将做工程过程中常用的内容做个收藏,如下的内容是关于python列表操作:追加元素到列表的内容. scores = ["1","2","3"] ...

  2. 【Python基础】零基础学习Python列表操作

    作者:来自读者投稿 整理:Lemon 出品:Python数据之道 " 「Python数据之道」导读:本文来自读者投稿,Python数据之道早些时候也发过 Python 列表相关的文章,可以前 ...

  3. python 代码命令大全-Python列表操作大全(非常全)

    Python列表操作大全(非常全!!!) 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且 ...

  4. python列表第几个怎么表示-Python列表操作大全(非常全)

    Python列表操作大全(非常全!!!) 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且 ...

  5. python列表操作计算列表长度并输出_Python成为专业人士笔记–List列表

    专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com Python列表是Python程序中广泛使用的一种通用数据 ...

  6. python列表操作函数大全_Python列表操作函数

    列表可以进行多个数据的存储,同时python中的列表设计非常到位,它可以实现内容动态扩充,可以进行后期数据的删除,这些就需要通过Python提供的列表操作函数来实现了. 对于Python语言而言,开发 ...

  7. 关于 Python 列表操作,最常见问答Top10

    列表是最常用的数据类型之一,本文整理了 StackOverflow 上关于列表操作被访问最多的10个问答,如果你在开发过程中遇到这些问题,不妨先思考一下如何解决. 1.迭代列表时如何访问列表下标索引 ...

  8. python n个list如何组成矩阵_通过学习在processing中操作图片,掌握python 列表操作...

    这次的教学非常简单,只需要安装了python模式的processing就可以(安装教程见专栏目录).我从网上找了一个比100*100稍微大一点的图片,你可以也找一个.然后我们就可以一起开始今天的学习啦 ...

  9. [转载] Python列表操作

    参考链接: Python中的基本运算符 Python列表: 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推: Py ...

最新文章

  1. 理解面向对象编写的极致简单的小代码
  2. 作者招募 | 加入PaperWeekly,让你的文字被更多人看到
  3. Qt 中使用dll文件的舒服用法 generateDocumentation()函数 乱码解决
  4. 《关系营销2.0——社交网络时代的营销之道》一检查拼写和语法
  5. 第4章 Python 数字图像处理(DIP) - 频率域滤波10 - 使用低通频率域滤波器平滑图像 - 理想、高斯、巴特沃斯低通滤波器
  6. IOC操作Bean管理XML方式(有参构造注入属性)
  7. PYTHON——多线程:同步条件(Event)
  8. 历史上的甲子年灾难有哪些?
  9. 20-2.系统启动和内核管理centos7(unit,systemctl,grub2-)
  10. VMware与宿主机同一网段
  11. 作为程序员,你一般用什么软件画流程图时序图和状态图等?
  12. 分享两个线+标注的SLD样式
  13. 阜南一中2021高考成绩查询,高考喜报出炉!阜南一中、阜阳一中、三中……取得了怎样的好成绩?(附名单)...
  14. Python —对象的浅拷贝和深拷贝
  15. 一键生成动漫头像微信小程序源码
  16. javax.persistence.OneToMany.orphanRemoval()Z
  17. SIMT和SIMD之总结篇
  18. SpringBoot 官方强烈推荐,连接池,太快了!
  19. 鼎力测试软件安不上,e5 2665 安装成功,但是不能睿频
  20. 改进的节点分析法(Modified Nodal Analysis)

热门文章

  1. 基于Java毕业设计校园食堂订餐系统源码+系统+mysql+lw文档+部署软件
  2. Keil中的USE MicroLib说明
  3. JavaEE学习笔记-(2)java集合框架
  4. sentinel dashboard扩展
  5. 32位全彩色与24位全彩色有啥区别
  6. 上海交大ACM总教头俞勇讲述“最聪明人的故事”
  7. 用Flink SQL流化市场数据2:盘中风险价值
  8. SQL SERVER索引原理及填充因子
  9. scrapy中使用讯代理转发
  10. VSCode刷LeetCode