Python基础知识为什么set()有效但{}失败?
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).