1

次のコードでは、変数「new_shape」が「shape_list」内に既に存在するかどうかを確認しようとしています。まだ存在しない場合は、追加します。存在する場合は、残したいだけです。これまでのところ、フラグを使用してこれを達成しただけです。フラグなしで同じことをより効率的に達成する方法があると確信しています。助言がありますか?助けてくれてありがとう!

    flag = 0
    for shape in shape_list:
        if new_shape == shape:
            flag = 1
            break
    if flag == 0:
        shape_list.append(new_shape)
4

3 に答える 3

6

使用できます

if new_shape not in shape_list:
    shape_list.append(new_shape)
于 2012-07-31T20:08:10.460 に答える
2

そして、元のフローを維持する回答の場合 (ただし、通常は他の回答よりも効率的ではありません):

for shape in shape_list:
    if new_shape == shape:
        break
else:
    shape_list.append(new_shape)
于 2012-07-31T20:10:50.427 に答える
0

set注文がインポートされていない場合は、 (ドキュメント)を使用できる場合があります。

于 2012-07-31T20:20:18.907 に答える