One line “x = for… if y not in x”
本问题已经有最佳答案,请猛点这里访问。
我想把下面代码中的
| 1 2 3 4 5 6 7 8 9 | cities = ["Berlin","Berlin","Berlin","London"] unique_cities = [] for city in cities: if city not in unique_cities: unique_cities.append(c) print unique_cities | 
我想是这样的:
| 1 | unique_cities = [city for city in cities if city not in unique_cities] | 
这当然不起作用,因为循环中没有定义
我怎样才能把这个做成一行呢?
我认为把它变成一套会更容易:
| 1 | unique_cities = set(cities) | 
如果秩序不重要,那么更简单的方法就是
| 1 | unique_cities = list(set(cities)) |