正確答案是:B: 字典
### 分析:
在 Python 中,`set` 是一個包含唯一元素的無序集合。它要求其中的元素是“可哈希的”(hashable),通常這意味著元素是“不可變的”(immutable)。
- **A: 字符串**
字符串是可哈希的,不可變的數(shù)據(jù)類型,因此可以作為 `set` 的元素。例如:`set(['a', 'b', 'c'])`
- **B: 字典**
字典是可變的,不是可哈希對象,因此不能直接作為 `set` 的元素。字典會導致 `TypeError`,因為它的內(nèi)容可以改變,而集合的元素要求不可變。
- **C: 數(shù)字**
數(shù)字(包括整數(shù)和浮點數(shù))是不可變的且可哈希,因此可以作為 `set` 的元素。例如:`set([1, 2, 3])`
- **D: 元組**
只要元組中的所有元素都是可哈希的,那么元組本身也是可哈希的,可以作為 `set` 的元素。例如:`set([(1, 'a'), (2, 'b')])`。但如果元組本身包含可變對象(如列表),則不可作為集合中的元素。
### 結(jié)論:
在給定選項中,字典是唯一不能直接添加到集合中的類型,因為字典是可變的和不可哈希的。