2017-01-15 4 views
-2
import random 

myList=[] 

myChicken=0 
belowfifty=0 

while(len(myList)!=200): 
    myList.append(randint(0,100)) 

myChicken = [for x in myList if(x) >= 50] 
belowfifty = [for x in myList if (x) <= 50] 

if x in myList == overfifty: 
    print(overfifty) 
    print(len(overfifty)) 

elif x in myList == belowfifty: 
    print(belowfifty) 
    print(len(belowfifty)) 

それはあなたがlist comprehensionを使用しようとしているように見えますmyChicken = [for x in myList if(x) >= 50]forループに変数を代入すると構文エラーが発生するのはなぜですか?

+2

これは間違っています。チュートリアルを読む必要があります。 – TigerhawkT3

+8

SOはチュートリアルサービスではないので、この質問を議論の対象外としています。 – TigerhawkT3

+0

私はPythonを初めて使い、Listsについて学んでいます。私はこのサイトを初めて使うので、私は自分のコードをコピーして貼り付けます。 –

答えて

6

の構文エラーを示しています。リスト内包表記には、「ループ」部分の前に式が必要です。

また、他のところで述べたように、Pythonの条件の場合には、括弧は必要ありません。

例えば:

myChicken = [x for x in myList if x >= 50] 
belowfifty = [x for x in myList if x <= 50] 

任意の式は、forだけでなく、変数参照の前に使用することができます。たとえば、正方形を0-100にする方法は次のとおりです。

squares = [x*x for x in range(1, 11)] 
関連する問題