Python 基础知识 为什么 set() 有效但 {} 失败?

Python basics why set() works but {} fails?

s = ["this", "that", "this"]

为什么 set(s) 有效但 {s} 失败

TypeError: unhashable type: 'list'

这是因为它们意味着不同的东西。 set(s) 迭代 s 来创建一个集合,而文字语法 {s} 只是试图创建一个包含单个元素 s.

的集合
>>> set("abc")
{'a', 'b', 'c'}
>>> {"abc"}
{'abc'}

尝试使用 {*s} 代替 set(s)