set/dict
使用hash进行索引,存在存储元素可哈希的限制;dict
仅对key
有可哈希的限制,而对value
无此要求。-
可哈希: int, float, str, tuple
-
不可哈希: list, set, dict
为什么 list 是不可哈希的,而 tuple 是可哈希的
- 因为
list
是可变的在它的生命期内,你可以在任意时间改变其内的元素值。 - 所谓元素可不可哈希,意味着是否使用 hash 进行索引。
list
不使用 hash 进行元素的索引,自然它对存储的元素有可哈希的要求;而set
使用 hash 值进行索引。
三数之和
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。
⚠️答案中不可以包含重复的三元组。