使用Python列表推导式时提示“[”未闭合?问题排查与解决
批量生成输入列表:从while循环到列表推导式
1. 可运行的while循环实现
通过while循环可以实现向列表中多次输入指定数量的内容,代码如下:
x = int(input('enter the number of numbers you want to enter ')) ans = [] while len(ans) < x: i = int(input('enter the number ')) ans.append(i) print(ans)
2. 错误的列表推导式尝试
尝试用列表推导式简化时,写出了错误代码:
x = input('enter the number of numbers you want to enter') ans = [i = input() while len(ans) < x]
运行时会出现“[”未闭合的报错。
3. 正确的列表推导式写法
修正后的正确写法如下:
x = int(input('enter the number of numbers you want to enter')) ans = [input() for i in range(int(x))]
错误原因解析
列表推导式的语法不允许在内部使用赋值符号(=),且其正确结构为[表达式 for 变量 in 可迭代对象],不能直接模仿while循环的条件判断写法。
内容的提问来源于stack exchange,提问作者Quốc Duy Đỗ
相关产品推荐
相关产品推荐

