python - 一行 "x = for... if y not in x"

标签 python list-comprehension

我想做for... if将以下代码合并为一行:

cities = ["Berlin", "Berlin", "Berlin", "London"]

unique_cities = []

for city in cities:
    if city not in unique_cities:
        unique_cities.append(c)

print unique_cities

我想象这样的事情:

unique_cities = [city for city in cities if city not in unique_cities]

这当然不起作用,因为 unique_cities未在该循环中定义。

我怎样才能用这个来写一句俏皮话呢?

最佳答案

如果顺序不重要,完成此操作的更简单方法就是

unique_cities = list(set(cities))

关于python - 一行 "x = for... if y not in x",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26757926/

相关文章:

python - 在python中生成渐变颜色

python - 在 Python 中按出现次数排序向量列表

javascript - 将数组理解转换为 `map` 和 `filter`

python - 为什么 [None] * 10 比 [None for i in range(10)] 快

python-3.x - 如何在 Python 3x 中将字符串列表转换为整数列表

python - 如何在 R 中将交互式绘图保存为本地文件?

python - 完成的一些事件在 python 中创建另一个事件

python - 当达到文件中的数字时跳过多行

python - 从具有特定长度的文件单词中提取

python - 如何以列表理解形式编写以下代码?