我有一个也许很愚蠢的问题,但却不知道怎么解决。 所以基本上我想做的是:
所以我想我应该这样做:
anotherList = [2,5,8]
myTuple = tuple([1,2,3].extend(anotherList))
这不起作用,因为它抛出错误:
TypeError: 'NoneType' object is not iterable
这是有意义的,因为extend
操作的结果不是列表。问题是我不能用一行代码,而只能用四行代码,比如:
anotherList = [2, 5, 8]
myList = [1, 2, 3]
myList.extend(anotherList)
myTuple = tuple(myList)
有没有办法简化这个代码?它看起来太长了!你知道吗
您不想使用
list.extend()
,句点。如果要将列表显示(文字语法)与另一个列表连接起来,请使用+
:或者您可以只转换
anotherList
并为元组添加前缀:在这里,Python编译器可以优化
(1, 2, 3)
并将其作为常量存储在代码对象中。初始元组只创建一次,并在所有执行中重用。你知道吗list.extend()
旨在通过对现有列表对象的引用来就地更新该列表对象,但是在列表文本上使用它意味着生成的扩展列表没有剩余的引用,并且会再次被丢弃。你知道吗在Python3.5及更高版本中,还可以使用new iterable unpacking syntax:
注意这里不需要
tuple()
调用,并且支持任何iterable类型(不仅仅是列表)。Python2.7已经到了它的最后一天,您需要开始计划离开它。你知道吗您可以添加列表:
所以是这样的:
不清楚,但是。。。你知道吗
试试这个:
可以通过
+
连接或者可以在python3中执行
*
(解包):或者可以从
itertools
执行chain
:或来自
heapq
的merge
:或
add
形式operator
:相关问题 更多 >
编程相关推荐