为什么在为for循环分配变量时会出现语法错误?

2024-10-03 04:28:14 发布

您现在位置:Python中文网/ 问答频道 /正文

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))

它显示了myChicken = [for x in myList if(x) >= 50]的语法错误


Tags: inimportforlenifrandomprintrandint
1条回答
网友
1楼 · 发布于 2024-10-03 04:28:14

看起来你想用list comprehension。列表理解需要在“循环”部分之前有一个表达式。你知道吗

另外,正如其他地方所指出的,在Python中if条件周围不需要括号。你知道吗

例如:

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)]

相关问题 更多 >