Python:为什么在集合之间允许二元AND运算符,而不是列表?

GL2*_*014 0 python operators set

为什么我set('dog') & set('hotdog')可以找到类似的字母,但不能对列表做同样的事情?即['dog'] & ['hotdog']

从计算机科学的角度来看,这是什么原因?

Cor*_*mer 5

因为a list允许有重复,所以它们不能被视为a set.如果元素不是唯一的,那么交叉,差异等意味着没有正式的定义.

例如,这会有什么不同

'aaabbc' - 'aab'
Run Code Online (Sandbox Code Playgroud)

你应该删除它们只能达到每个独特元素的数量吗?

'abc'
Run Code Online (Sandbox Code Playgroud)

或者删除第二个列表中出现的任何元素?

'c'
Run Code Online (Sandbox Code Playgroud)