【发布时间】:2013-03-30 15:19:25
【问题描述】:
使用以下代码:
def printformatted(statuses):
for status in statuses:
statusid, statussummary = status.split(",",1)
print "\nSnapshot id: %s" % statusid
print "Summary: %s" % statussummary
print
printformatted("1,Some summary") 给了我错误ValueError: need more than 1 value to unpack,而printformatted(["1,Some summary"]) 没有。
为什么?
【问题讨论】:
-
您的意思是使用
*statuses而不是statuses? -
@Lattyware 原谅?你能给我一个例子,或者解释一下 * 运算符会做什么吗?如果我没记错的话,在函数中使用它允许该函数使用未定义数量的参数,例如 C 的
printf()。如果是这样,for 循环是否能够对其进行迭代? -
*statuses意味着statuses将是其他参数的列表,因此这意味着您可以调用printformatted('grijesh,chauah', 'yourname,secondname')而不是printformatted(['grijesh,chauah', 'yourname,secondname'])。
标签: python list for-loop split