2

ループ内に (名前を変更せずに) 新しいリストを作成しようとしています。これにより、すべての負またはゼロの要素が削除され、最終的にその長さが変更されます。それを行うための最速の方法は誰ですか? 私はやろうとしている最後の日を失いました...

4

2 に答える 2

3

フィルターを使用してみてください:

newlist = filter(lambda a: a>0, [1,2,3])

また

[i for i in original_list if i > 0] (上記のコメントで述べたように)

于 2013-01-12T18:30:35.297 に答える
0

ラムダを使用するかどうかに関係なく、Pythonの宗教であることは知っていますが、この単純な例ではフィルターを使用しません。

個人的には、リストとセットを使用したソリューションを好みます。

a = [1,2,-1,0,-1,...] # some list
for i in set(a):
    if (i <= 0): 
         while (a.count(i)>0): a.remove(i)
于 2013-01-12T18:35:10.457 に答える