Python:为什么集合之间允许二元 AND 运算符,但列表之间不允许?
Python: Why is binary AND operator allowed between sets, but not lists?
为什么我可以 set('dog') & set('hotdog')
找到相似的字母,但不能用列表做同样的事情?即 ['dog'] & ['hotdog']
从计算机科学的角度来看,这是什么原因?
因为 list
允许重复,所以它们不能被视为 set
。如果元素不是唯一的,则没有关于交集、差异等的正式定义。
比如这个有什么区别
'aaabbc' - 'aab'
您应该只删除它们直到每个唯一元素的计数吗?
'abc'
或者删除第二个列表中出现的任何元素?
'c'
为什么我可以 set('dog') & set('hotdog')
找到相似的字母,但不能用列表做同样的事情?即 ['dog'] & ['hotdog']
从计算机科学的角度来看,这是什么原因?
因为 list
允许重复,所以它们不能被视为 set
。如果元素不是唯一的,则没有关于交集、差异等的正式定义。
比如这个有什么区别
'aaabbc' - 'aab'
您应该只删除它们直到每个唯一元素的计数吗?
'abc'
或者删除第二个列表中出现的任何元素?
'c'