2024-04-18 18:09:14 发布
网友
是否可以创建一个返回以下几个元素的函数:
def foo(): return 'b', 'c', 'd' print ['a', foo(), 'e'] # ['a', 'b', 'c', 'd', 'e']
我试过了,但没用
您还可以使用以下简单代码:
import itertools def foo(): return 'b', 'c', 'd' l = ['a', foo(), 'e'] x=list(itertools.chain(*l)) print x
Output: ['a', 'b', 'c', 'd', 'e']
可以将序列插入到具有切片分配的列表中:
bar = ['a', 'e'] bar[1:1] = foo() print bar
请注意,片本质上是空的;bar[1:1]是介于'a'和'e'之间的空列表。你知道吗
bar[1:1]
'a'
'e'
要在Python 2中的一行上执行此操作,需要连接:
['a'] + list(foo()) + ['e']
如果要升级到Python 3.5,可以改用*解包:
*
print(['a', *foo(), 'e'])
请参见Python 3.5的新增功能中的Additional Unpacking Generalisations。你知道吗
演示(使用Python 3):
>>> def foo(): ... return 'b', 'c', 'd' ... >>> bar = ['a', 'e'] >>> bar[1:1] = foo() >>> bar ['a', 'b', 'c', 'd', 'e'] >>> ['a'] + list(foo()) + ['e'] ['a', 'b', 'c', 'd', 'e'] >>> ['a', *foo(), 'e'] ['a', 'b', 'c', 'd', 'e']
您还可以使用以下简单代码:
可以将序列插入到具有切片分配的列表中:
请注意,片本质上是空的;
bar[1:1]
是介于'a'
和'e'
之间的空列表。你知道吗要在Python 2中的一行上执行此操作,需要连接:
如果要升级到Python 3.5,可以改用
*
解包:请参见Python 3.5的新增功能中的Additional Unpacking Generalisations。你知道吗
演示(使用Python 3):
相关问题 更多 >
编程相关推荐