一个列表推导式的问题?
# 使用列表推导式去重list1 = ['a', 'b', 1, 3, 9, 9, 'a']
res = []
print(res)
这里列表推导式为什么必须要加大括号?
不加大括号会报错?
我看一般教程里的列表推导式都没有这种括号?
这里的大括号其实是用来表示一个集合(set)的语法,因为列表推导式中使用了if语句,所以必须使用集合来去重。如果不加大括号,会将列表推导式解析为一个生成器表达式,而生成器表达式并不支持去重操作,所以会报错。
一般教程中的列表推导式可能没有加大括号是因为示例中没有使用if语句进行去重操作。如果需要进行去重操作,必须使用集合语法。 isdkz 发表于 2023-9-19 01:25
这里的大括号其实是用来表示一个集合(set)的语法,因为列表推导式中使用了if语句,所以必须使用集合来去 ...
秒回,厉害!!!
页:
[1]