我想做的是:
(tokens.append(),tokens.append(), remaining) = remaining.partition(blank)但这不是有效的语法。相反,我会这样做:
(t1, t2, remaining) = remaining.partition(blank)
tokens.append(t1)
tokens.append(t2) 有没有更干净的方法?顺便说一句,我认为我必须使用.partition,因为我不能将多个空格折叠成一个。
发布于 2012-07-02 22:59:35
试试这个:
tokens.extend(remaining.partition(blank))
remaining = tokens.pop()发布于 2012-07-02 23:08:19
在Python3中,您可以使用extended iterable unpacking来完成此操作
*tokens[len(tokens):], remaining = remaining.partition(' ')发布于 2012-07-06 10:46:14
我的目标是让每个{结果的单个元素}作为方法的参数或赋值的值传递。
剩余= 'abc def ghi jkl‘tokens=[]
我想,从概念上讲
(tokens.append(),tokens.append(),剩余)=remaining.partition(空白)
选择1:这是我所做的:
(t1,t2,剩余)=remaining.partition(空白)
tokens.append(t1)
tokens.append(t2)
备选方案2:非常丑陋,这是由于“繁重的提升”的不必要的重复处理,在本例中是分区:
[(tokens.append( t1 ),tokens.append( t2 ),remaining) for t1 in (remaining.partition(‘'),) for t2 in (remaining.partition(’')1,) for remaining in (remaining.partition(‘')2,)]
选择3:仍然丑陋,但在概念上更接近:
t=remaining.partition(‘')
[(tokens.append( t1 ),tokens.append( t2 ),剩余)对于(t,)中的t1,)对于(t1,)中的t2,对于(t2,)中的剩余)]
这里的技巧是在" for 's“和”in‘s“的单项列表之前使用方法调用。单项列表中的逗号必须跟在唯一项之后。逗号不能放在它前面。
https://stackoverflow.com/questions/11296148
复制相似问题