为了账号安全,请及时绑定邮箱和手机立即绑定

用Python解压缩列表?

用Python解压缩列表?

互换的青春 2019-06-19 11:19:53
用Python解压缩列表?我认为‘解包’可能是错误的词汇-抱歉,因为我相信这是一个重复的问题。我的问题很简单:在一个期望一个项目列表的函数中,如何在不出错的情况下传递一个Python列表项?my_list = ['red', 'blue', 'orange']function_that_needs_strings('red', 'blue', 'orange') # works!function_that_needs_strings(my_list) # breaks!当然,必须有一种方法来扩展列表,并传递函数。'red','blue','orange'骑着马?
查看完整描述

3 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

function_that_needs_strings(*my_list) # works!

你可以在这里读到所有关于它的东西。


查看完整回答
反对 回复 2019-06-19
?
慕标5832272

TA贡献1966条经验 获得超4个赞

是的,你可以使用*args语法:

function_that_needs_strings(*my_list)

哪里my_list可以是任何可迭代的;Python将遍历给定的对象,并将每个元素用作函数的单独参数。

调用表达式文档.

还有一个关键字-参数等价,使用两颗星:

kwargs = {'foo': 'bar', 'spam': 'ham'}f(**kwargs)

还有等效语法用于指定函数签名中的所有参数:

def func(*args, **kw):
    # args now holds positional arguments, kw keyword arguments


查看完整回答
反对 回复 2019-06-19
?
守着一只汪

TA贡献1872条经验 获得超3个赞

因为Python3.5可以解压无限数量的listS.

Pep 448-附加解包泛化

所以这是可行的:

a = ['1', '2', '3', '4']b = ['5', '6']function_that_needs_strings(*a, *b)


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 963 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信