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).


以上是Python基础知识为什么set()有效但{}失败?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>