将可迭代的所有元素添加到列表

Add all elements of an iterable to list(将可迭代的所有元素添加到列表)
本文介绍了将可迭代的所有元素添加到列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有更简洁的方法来执行以下操作?

Is there a more concise way of doing the following?

t = (1,2,3)
t2 = (4,5)

l.addAll(t)
l.addAll(t2)
print l # [1,2,3,4,5]

这是我迄今为止尝试过的:我宁愿避免在参数中传入列表.

This is what I have tried so far: I would prefer to avoid passing in the list in the parameters.

def t_add(t,stuff):
    for x in t:
        stuff.append(x)

推荐答案

使用 list.extend(),而不是 list.append() 从一个可迭代到列表:

Use list.extend(), not list.append() to add all items from an iterable to a list:

l.extend(t)
l.extend(t2)

l.extend(t + t2)

甚至:

l += t + t2

其中 list.__iadd__(就地添加)在底层实现为 list.extend().

where list.__iadd__ (in-place add) is implemented as list.extend() under the hood.

演示:

>>> l = []
>>> t = (1,2,3)
>>> t2 = (4,5)
>>> l += t + t2
>>> l
[1, 2, 3, 4, 5]

但是,如果您只想创建一个 t + t2 列表,那么 list(t + t2) 将是到达那里的最短路径.

If, however, you just wanted to create a list of t + t2, then list(t + t2) would be the shortest path to get there.

这篇关于将可迭代的所有元素添加到列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)