2017-09-20 9 views
0

は、私がこれよりも、任意の短い方法リストにan回を追加したい:この特定のアプリケーションのためしかし特定の回数だけアイテムをリストに追加するには?

for _ in range(n): 
    do_something() 

:正準

while n: 
    list.append(a) 
    n -= 1 
+1

' list.extendを知っていたら? – jonrsharpe

+2

または 'lst.extend([a] * n)'だけです。変数 'list'を呼び出さないでください。 –

+1

おそらく 'lst + = [a] * n'は最短です –

答えて

2

、「n回何かをする」で達成されますlist.extendaのリストを使用する方が短くなります。

original_list.extend([a] * n) 
+2

' a'が不変であると仮定するとよいです。それ以外の場合、 'extend(範囲内の(n)のための)'が優先されます(または、あなたは副作用のホストに走ります)。 –

+0

@cᴏʟᴅsᴘᴇᴇᴅ:これは、 'a'がより複雑な表現を置き換えることができない限り、何も変わりません。問題は可変性に関するものではないので、同じオブジェクトを何度も追加することによって、彼らが何をしているのか知っていると思います。 – luther

1

はおそらく、レンジ機能を使用すると、((N)の範囲で_用) `nは

for x in range(n): 
    list.append(a) 
+1

これを行うより良い方法があるときに、本当にこの方法でやりますか? –

+0

文字列が最初に投稿したOP文字列よりも短くなるように要求された場合は、最初に試してみました。しかしながら;それは私がPythonの初心者であり、もっと学び、リストを見ているということです。上記のコメントに投稿して、私がそれについて知っていれば間違いなくそのルートを取るだろう。 –

関連する問題