在 Python 中,集合(`set`)是一種無(wú)序的數(shù)據(jù)結(jié)構(gòu),具有以下特性:
1. **集合中可以包含數(shù)字和字符串** - 這是正確的。集合可以包含任何不可變的數(shù)據(jù)類(lèi)型,包括數(shù)字和字符串。
2. **集合中可以是任何形式的數(shù)據(jù)類(lèi)型** - 這是不準(zhǔn)確的。集合中的元素必須是可散列的(hashable),因此并不是所有的數(shù)據(jù)類(lèi)型都可以直接放入集合中。
3. **集合中不能包含字典** - 這是正確的。字典是可變類(lèi)型,因此不能作為集合的元素。
4. **集合中不能包含列表** - 這也是正確的。列表是可變類(lèi)型,因此也不能作為集合的元素。
### 正確答案是:B
### 專(zhuān)業(yè)分析
| 選項(xiàng) | 描述 | 是否正確 |
|------|------|----------|
| A | 集合可包含數(shù)字和字符串 | 正確 |
| B | 集合可以是任何形式的數(shù)據(jù)類(lèi)型 | 錯(cuò)誤 |
| C | 集合中不能包含字典 | 正確 |
| D | 集合中不能包含列表 | 正確 |
#### 詳細(xì)說(shuō)明:
- **不變性要求(Immutable Requirement)**: 集合的元素必須是不可變的,這意味著它們需要是可散列的??缮⒘袑?duì)象的例子包括整數(shù)、浮點(diǎn)數(shù)、字符串和元組(假如其中的元素也是可散列的)。因此,像列表和字典這樣的可變對(duì)象不能直接用作集合的元素。
- **數(shù)據(jù)類(lèi)型限制**: 當(dāng)集合嘗試存儲(chǔ)可變類(lèi)型時(shí),會(huì)引發(fā)`TypeError`,因?yàn)檫@些類(lèi)型的對(duì)象不能保證散列值的穩(wěn)定性,這對(duì)于集合這種依賴(lài)哈希表的數(shù)據(jù)結(jié)構(gòu)來(lái)說(shuō)是必須的。
通過(guò)上述分析可以清晰地看到,選項(xiàng) B 是錯(cuò)誤的,故此為正確答案。