0

私はやりたい:

    (tokens.append(),tokens.append(), remaining) = remaining.partition(blank)

しかし、それは有効な構文ではありません。代わりに、私は:

    (t1, t2, remaining) = remaining.partition(blank) 
    tokens.append(t1) 
    tokens.append(t2) 

よりクリーンな方法はありますか?ところで、複数の空白を 1 つにまとめてはならないため、.partition を使用する必要があると思います。

4

3 に答える 3

2

これを試して:

tokens.extend(remaining.partition(blank))
remaining = tokens.pop()
于 2012-07-02T14:59:34.717 に答える
1

Python 3 では、拡張された iterable unpackingを使用してこれを実現できます。

*tokens[len(tokens):], remaining = remaining.partition(' ')
于 2012-07-02T15:08:18.600 に答える
0

私の目標は、{結果の個々の要素} のそれぞれを、メソッドのパラメーターとして、または代入の値として配信することでした。

残り = 'abc def ghi jkl' トークン =[]

概念的にはそうしたい

(tokens.append(),tokens.append(), 残り) = 残り.partition(空白)

代替案 1: これは私がやったことです:

(t1、t2、残り) = 残りのパーティション (空白)

tokens.append(t1)

tokens.append(t2)

代替案 2: 非常に醜い。この場合はパーティショニングである「重労働」の不必要な反復処理によるものです。

[(tokens.append(t1), tokens.append(t2), 残り) (remaining.partition(' ')[0],) の t1 の場合 (remaining.partition(' ')[1],) の t2 の場合(remaining.partition(' ')[2],) ] に残るため

選択肢 3: まだ醜いですが、概念的には近いです:

t=remaining.partition(' ')

[(tokens.append(t1), tokens.append(t2), 残り) (t[0],) の t1 の場合 (t[1],) の t2 の場合 (t[2],) の残りの場合]

ここでのコツは、"for" の前にメソッド呼び出しを使用し、"in" には単一項目リストを使用することです。(t[0],) などの単一項目リストのコンマは、唯一の項目の後に続く必要があります。カンマを前に置くことはできません。

于 2012-07-06T02:46:13.613 に答える