首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >初学者: python解包

初学者: python解包
EN

Stack Overflow用户
提问于 2012-03-17 12:34:55
回答 2查看 278关注 0票数 2

免责声明:我是python的初学者,但有Drupal编程经验。

我有这个:

代码语言:javascript
运行
复制
f = [1.jpg, 2.jpg, 3.jpg] #unknown amount at runtime

我需要这样做

代码语言:javascript
运行
复制
call(['c:/program files/ABBYY FineReader 10/finereader.exe',f])

但是,它应该这样做,而不是简单地用f结束调用。

代码语言:javascript
运行
复制
call(['c:/program files/ABBYY FineReader 10/finereader.exe', 1.jpg,2.jpg,3.jpg])

我怎样才能解压f?解包是正确的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-17 12:38:00

这样行得通吗?通过对两个列表执行+,可以得到一个新的列表,它是第一个列表和第二个列表的串联。

代码语言:javascript
运行
复制
call(['c:/program files/ABBYY FineReader 10/finereader.exe'] + f)

您还可以使用extend()方法将更多参数添加到列表中:

代码语言:javascript
运行
复制
command = ['c:/program files/ABBYY FineReader 10/finereader.exe']
command.extend(f)
call(command)
票数 2
EN

Stack Overflow用户

发布于 2012-03-17 12:38:31

执行以下操作:call(['c:/program files/ABBYY FineReader 10/finereader.exe'] + f)

将两个列表相加得到一个新列表,该列表包含第一个列表的元素,然后是第二个列表的元素。

你可以做的另一件事是:

代码语言:javascript
运行
复制
reader_exec = ['c:/program files/ABBYY FineReader 10/finereader.exe']
reader_exec[len(reader_exec):] = f
call(reader_exec)

我认为这更冗长,更难理解,所以我不建议这样做。但是,在某些情况下,用另一个列表来替换子列表(在本例中是最后的空列表)的一般技术可能非常有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9747284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档