Python 将列表转换为集合并删除项后的空列表

Python 将列表转换为集合并删除项后的空列表,python,Python,当我对列表中的一项使用remove方法时,为什么data2是空的?当我使用set-remove方法并将其转换为列表时,会得到相同的结果。有人知道为什么吗 data = ['alpha', 'beta', 'gamma', 'beta', 'beta', 'beta', 'zeta'] data2 = list(set(data)).remove('beta') .remove不返回任何内容,它直接更改列表。相反,我建议这样做: data = ['alpha', 'beta', 'ga

当我对列表中的一项使用remove方法时,为什么data2是空的?当我使用set-remove方法并将其转换为列表时,会得到相同的结果。有人知道为什么吗

data = ['alpha', 'beta', 'gamma', 'beta', 'beta', 'beta', 'zeta']
    
data2 = list(set(data)).remove('beta')

.remove
不返回任何内容,它直接更改列表。相反,我建议这样做:

data = ['alpha', 'beta', 'gamma', 'beta', 'beta', 'beta', 'zeta']
data2 = set(data)
data2.remove("beta")
data2 = list(data2)

感谢@Shadow Ranger的提示

这回答了你的问题吗?当它是
set
(工作是
O(1)
)而不是转换到
list
(工作是
O(n)
)之后,可能最好将其删除。这一点很好!我会编辑的@暗影游侠