首页 > Python > 如何在 Python 中连接两个列表?

如何在 Python 中连接两个列表?

上一篇 下一篇

网友问题:

如何在 Python 中连接两个列表?

例:

listone = [1, 2, 3]
listtwo = [4, 5, 6]

预期成果:

>>> joinedlist
[1, 2, 3, 4, 5, 6]

分割线

网友回答:

Python >= 3.5 替代方案:[*l1, *l2]

通过接受PEP 448引入了另一种选择,值得一提。

标题为“附加解包泛化”的 PEP 通常减少了在 Python 中使用带星号的表达式时的一些语法限制;有了它,现在还可以通过以下方式连接两个列表(适用于任何可迭代对象):*

>>> l1 = [1, 2, 3]
>>> l2 = [4, 5, 6]
>>> joined_list = [*l1, *l2]  # unpack both iterables in a list literal
>>> print(joined_list)
[1, 2, 3, 4, 5, 6]

此功能是为 Python 3.5 定义的,但尚未向后移植到 3.x 系列中的早期版本。在不受支持的版本中,将引发 。SyntaxError

与其他方法一样,这也会在相应列表中创建元素的浅拷贝


这种方法的好处是你真的不需要列表来执行它;任何可迭代的东西都可以。如PEP所述:

这也是一种将可迭代对象求和到
列表中更易读的方法,例如现在
等效于 .
my_list + list(my_tuple) + list(my_range)[*my_list, *my_tuple, *my_range]

因此,虽然加法会由于类型不匹配而引发:+TypeError

l = [1, 2, 3]
r = range(4, 7)
res = l + r

以下情况不会:

res = [*l, *r]

因为它将首先解压缩可迭代对象的内容,然后简单地从内容创建一个。list

分割线

网友回答:

使用运算符合并列表:+

listone = [1, 2, 3]
listtwo = [4, 5, 6]

joinedlist = listone + listtwo

输出:

>>> joinedlist
[1, 2, 3, 4, 5, 6]

分割线

网友回答:

也可以创建一个生成器,该生成器仅使用 .这允许您将列表(或任何可迭代对象)链接在一起进行处理,而无需将项目复制到新列表:itertools.chain()

import itertools
for item in itertools.chain(listone, listtwo):
    # Do something with each list item

模板简介:该模板名称为【如何在 Python 中连接两个列表?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 174次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 02-08
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
企业网站 微信模板 响应式 微信素材 微信公众平台 微信图片 单页式简历模板 自适应 html5 微信文章
您可能会喜欢的其他模板