python中将列表转换为set

my_data = [1,2,3,4]
my_set ={tuple (my_list)}
请问这段代码有什么问题?谢谢

上面是my_data,下面是my_list,名称不一致

列表转化为集合用set()方法
list1=[1,2,3]
set1= set(list1)

  • 建议你看下这篇博客👉 :python中的set去重的原理源码简单分析
  • 除此之外, 这篇博客: Python数据结构(三)set使用和原理中的 3. 哈希表删除元素 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 对于删除操作,Python 会暂时对这个位置的元素赋于一个特殊的值,等到重新调整哈希表的大小时,再将其删除。

    重点:

    • 需要注意的是,哈希冲突的发生往往会降低字典和集合操作的速度
    • 因此,为了保证其高效性,字典和集合内的哈希表,通常会保证其至少留有 1/3 的剩余空间。
    • 随着元素的不停插入,当剩余空间小于 1/3 时,Python 会重新获取更大的内存空间,扩充哈希表,与此同时,表内所有的元素位置都会被重新排放。

    虽然哈希冲突和哈希表大小的调整,都会导致速度减缓,但是这种情况发生的次数极少。所以,平均情况下,仍能保证插入、查找和删除的时间复杂度为 O(1)