python - 使用列表理解从另一个定义的数组创建一个没有重复的数组

标签 python python-3.x list list-comprehension

我曾尝试使用列表理解从另一个定义的列表中创建一个没有重复的列表,如下所示,

num = [1, 2, 2, 2, 3, 3, 4, 4, 4, 5]
my_list = []
my_list = [x for x in num if x not in my_list]

来电后 my_list ,我得到相同的数组
[1, 2, 2, 2, 3, 3, 4, 4, 4, 5]

谁能解释一下为什么会这样?

最佳答案

使用 set 比 if 条件和 for 循环更可行:

num = [1, 2, 2, 2, 3, 3, 4, 4, 4, 5]
my_list = list(set(num))
print(my_list)
输出:
[1, 2, 3, 4, 5]

关于python - 使用列表理解从另一个定义的数组创建一个没有重复的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61257151/

相关文章:

python - Django 的 on_delete 错误

python - 使用 urllib.request 验证 HTTPS 证书

Python,切片列表?

python - 如何返回字典中最大的浮点值?

Python 3打印到文件并在字符串中混合 "and '

python - Tkinter 标签被切断

python - 为什么 tkinter 模块在通过命令行运行时会引发属性错误,而在通过 IDLE 运行时却不会?

algorithm - 相交两个有序列表

python - 没有数据通过 drf-nested-routers PUT 传输

python - 如何跨多个文本文件查找字典中键的频率?